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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sammm
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 182
#1

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

12.11.2013, 00:20. Просмотров 205. Ответов 1
Метки нет (Все метки)

Есть базовый класс:
C++
1
2
3
4
5
class people
{ 
public:
    char *name; 
};
Есть производный класс, который наследуется от базового:
C++
1
2
3
4
5
class worker : public people
{ 
public: 
    char *specialization;
};
Информация сведена в таблицу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class table_people
{
public:
    Item table[M];
    int n; //текущий размер таблицы
 
    void add_Item(int, people *);
};
 
class Item
{
public:
    int number;
    people *info;
};
Если надо добавить worker добавляю вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
table_people t; 
worker w; 
w.name = "Bob";
w.specialization = "cook";
t.add_Item(5, new worker(w));
 
void table_people::add_Item(int number, people * p) // передается значение worker, а принимается people
{
    table[n].number = number;
    table[n].info = p;
    ++n;
}
Как мне вывести specialization, если можно только table[n].info->name ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 00:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование классов (C++):

Заменить наследование классов на наследование интерфейсов - C++
#include <iostream> #include <assert.h> using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Наследование классов. Копирование производных классов - C++
Здравствуйте всем, у меня такой вопрос: написал код #include "stdafx.h" class A //Создаем класс А { int mA; ...

Наследование классов - C++
Здравствуйте! Вот написан мой код ниже. Я когда пытаюсь ввести "What give animal:" идёт прекращение работы. Не понимаю почему. Помогите...

Наследование классов - C++
Пусть автомобиль характеризуется установленным двигателем, трансмиссией и количеством мест для пассажиров. Двигатель определяется...

Наследование классов - C++
Очень нужна помощь, организую открытое наследование, но постоянно выходят ошибки, не могу понять от чего TForm1 *Form1; class ABK{ ...

Наследование классов - C++
Доброго времени суток! Стоит следующая учебная задача: есть 3 класса потомка (в моем случае типы авто: легковое, грузовое, автобус) с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
12.11.2013, 01:00 #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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
 
struct A
{
    int a;
    A()      : a()  {}
    A(int x) : a(x) {}
    virtual ~A()    {}
    virtual void print() const
    {
        std::cout << a << std::endl;
    }
};
 
struct B : public A
{
    int b;
    B()             : A(),  b()  {}
    B(int x, int y) : A(x), b(y) {}
    virtual void print() const
    {
        std::cout << a << ", " << b << std::endl;
    }
};
 
struct C
{
    const static int M = 10;
    A* arr[M];
    static int index;
 
    void add(A* a)
    {
        if (index < M) arr[index++] = a;
    }
    void print() const
    {
        for (int i=0; i < index; i++)
            arr[i]->print();
    }
};
 
int C::index = 0;
 
int main()
{
    C c;
    c.add(new A());
    c.add(new A(1));
    c.add(new B(1, 2));
    c.print();
    for (int i=0; i < c.index; i++)
        delete c.arr[i];
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 01:00
Привет! Вот еще темы с ответами:

Наследование классов - C++
Как правильно построить наследование, чтобы класс C мог корректно использовать A : Show() ? Например имеем: AB.h: class A { ...

Наследование классов - C++
смотрите, типа класс комп и ноут вроде все хорошо работает, но с табуляцией проблемы, собсна вот, как выводить ноут с парой пробелов,...

наследование классов - C++
Здравствуйте! У меня проблема о наследовании классов и определении собственно с каким из наследников идет процесс. Есть класс Ware,...

Наследование классов - C++
Доброго времени Вам. я с толкнулся с неприятной проблемой делая лабораторную работу по ООП, а именно запутался(а если честно то и...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru