Форум программистов, компьютерный форум CyberForum.ru

Наследование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ найти ошибку http://www.cyberforum.ru/cpp-beginners/thread402604.html
выдает ошибку #include<iostream.h> void main() {double k,x; cout<<"Vvedite x"; cin>>x; double kx,s; kx=x/1; s=0.0;
C++ Бесконечный цикл Доброго времени суток! Написал программу в среде Visual Studio 2010 Win32 project, но в ней есть кусок кода, когда происходит зацикливание... Дело в том, что оно и должно быть, но обязательно есть выход оттуда просто процесс очень долгий и программа само собой зависает... Можно ли сделать что-то на подобие потока? Который шёл бы и шёл пока решение не будет найдено? http://www.cyberforum.ru/cpp-beginners/thread402599.html
C++ Задачка на Указатели в С ++
Составить программу, которая создает очередь, содержащая все числа от 300 до 600, делящиеся на 6. Вывести эти числа на экран в порядке возрастания...))
отсортиртировать массив. C++
Разместить элементы массива в порядке убывания. Найти min элемент.
C++ задача на Масиви в С++ http://www.cyberforum.ru/cpp-beginners/thread402593.html
Задали действительные числа a1, ..., an, p, натуральное число k (a1 <= a2 <= ... <= an, k <= n). Удалить из a1, ..., an элемент с номером k и вставить элемент равен p, так чтобы не разрушилась последовательность. Спасибо всем за помощь ...)))
C++ Программа Visual C++ ; работа с массивами, деление и сдвиг. Сообственно вот: Нужно поделить массив напополам и отдельно сдвигать 1 и 2 часть этого массива. В этой проге у меня просто сдивается массив на N позиций вправо и потом выводится на экран. (Ввожу массив, кол-во сдвигов,символы) с клавиатуры #include "stdafx.h" #include<iostream.h> #include <math.h> int main() { подробнее

Показать сообщение отдельно
FauLL
3 / 3 / 1
Регистрация: 17.05.2010
Сообщений: 64
09.12.2011, 00:14     Наследование
На основе класса «Массив» создать производный класс «Ассоциативный массив». Данный класс содержит массив указателей, каждый из которых указывает на соответствующий ему элемент исходного массива. В классе должны быть переопределены функции ввода и вывода исходного массива через соответствующие указатели.

Выдает ошибку [Linker error] undefined reference to `Stream::Stream()'

Базовый класс.

mas.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef MAS_H
#define MAS_H
class Mas{
    friend ostream& operator <<( ostream &, Mas &);
    friend istream& operator >>(istream &, Mas &);
        friend void operator ++(Mas &);
        friend void operator --(Mas &);
        
    public: 
        Mas ( );
        void umnoj (int);
        void print();
        void vivod();
        int M[10];
    
};
#endif
mas.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream.h>
#include "mas.h"
Mas::Mas( ){}
ostream & operator<<(ostream &output, Mas &num)
{
 for (int i=0;i<10; i++)
    output<<"("<<num.M[i] << ")" ;
    return output;
}
istream & operator>>(istream &input, Mas &num)
{
        for (int i=0;i<10; i++)
    cin>>num.M[i];
    return input;
}
 
void Mas::umnoj(int a)
{ for (int i=0;i<10; i++)
     M[i]=M[i]*a;
          }
 
void operator++ (Mas &B){
     for (int i=0;i<10; i++)
 B.M[i]=B.M[i]+1;}
void Mas::print()
{
               for (int i=0;i<10; i++)
               cout<<"M[10]="<<M[i]<<endl;
               }
void operator-- (Mas &B)
{
     for (int i=0;i<10; i++)
     B.M[i]=B.M[i]-1;}
void Mas::vivod()
{
               for (int i=0;i<10; i++)
               cout<<"M[10]="<<M[i]<<endl;}
Производный класс

asmas.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef ASMAS_H
#define ASMAS_H
#include "Mas.h"
class Asmas:public Mas
{
    public: 
        void vvod();
        Asmas();
        void print();
    private:
            int *A[10];
            
           
        
};
#endif
asmas.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "asmas.h"
Asmas::Asmas()
{
 for (int i=0;i<10; i++)
 A[i]=&M[i];
}
void Asmas::vvod()
{
               for (int i=0;i<10; i++)
               {
               cout<<"A[10]=";
               cin>>*A[i];
               }
}
 
void Asmas::print()
{
               for (int i=0;i<10; i++)
               cout<<"A[10]="<<*A[i]<<endl;
               }
main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
#include "mas.h"
#include "asmas.h"
main()
{
    Asmas B;
    B.vvod();
    B.print();
    system("Pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru