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

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

Восстановить пароль Регистрация
 
DEM90
17 / 17 / 1
Регистрация: 06.05.2009
Сообщений: 115
17.12.2009, 01:13     Наследование #1
. Создать базовый класс «Учащийся» и производные классы «Школь-ник» и «Студент». Создать массив объектов базового класса и заполнить этот массив объектами. Показать отдельно студентов и школьников.
"Создать массив объектов базового класса и заполнить этот массив объектами" - вот это непонятно... Как создать массив объектов базового класса и заполнить его объектами производных классов? Или это надо делать как-то по другому?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2009, 01:13     Наследование
Посмотрите здесь:

C++ Наследование
Наследование C++
C++ наследование
C++ Наследование?!
C++ наследование
C++ Заменить наследование классов на наследование интерфейсов
наследование C++
Наследование наследование ) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
17.12.2009, 01:31     Наследование #2
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
#include <iostream>
 
class Base {
public:
    virtual void show()
        { std::cout << "Base class\n"; }
};
 
class Derv1 : public Base {
public:
    void show()
        { std::cout << "Derv1 class\n"; }
};
 
class Derv2 : public Base {
public:
    void show()
        { std::cout << "Derv2 class\n"; }
};
 
int main()
{
    Base *pb[2];    // массив (указателей) объектов Base class
    
    pb[0] = new Derv1;
    pb[1] = new Derv2;
    
    pb[0]->show();
    pb[1]->show();
    
    delete pb[0];
    delete pb[1];
    return 0;
}
Даемоник
 Аватар для Даемоник
41 / 41 / 3
Регистрация: 22.05.2009
Сообщений: 97
17.12.2009, 01:38     Наследование #3
Нет, там все правильно написано. Создаешь массив базвого класса, допустим что все классы определены и описаны соответствующим образом, тогда
C++
1
2
3
4
5
6
7
8
9
Ychashiisa *Ych;
Student a,b,c;
Schoolboy d,e;
Ych=new Ychashiisa [5];
Ych[0]=a;
Ych[1]=b;
Ych[2]=c;
Ych[3]=d;
Ych[4]=e;
И это будет правильно.

Не по теме:

Gravity, чуть-чуть опередил

Yandex
Объявления
17.12.2009, 01:38     Наследование
Ответ Создать тему
Опции темы

Текущее время: 12:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru