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

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

Войти
Регистрация
Восстановить пароль
 
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
#1

Классы и сабклассы - C++

08.02.2011, 09:37. Просмотров 650. Ответов 2
Метки нет (Все метки)

класс и сабклассы
чё-то я запутался, и не знаю как это сделать,
допустим у меня класс и 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
CMyClass
{
        public:
        int x;
};
 
CMySubClass1:public CMyClass
{
public:
        void Init()
        {
                x = 1;
        }
};
 
CMySubClass2:public CMyClass
{
public:
        void Init()
        {
                x = 2;
        }
};
делаю вот так, объявляю объекты:
CMySubClass1 sub1;
CMySubClass2 sub2;
массив:
CMyClass array[] = {sub1, sub2};
потом хочу вызвать функцию Init(), но там её попросту нет, очевидно потому, что массив создан CMyClass, а там эта функция не объявлена. Ну вот надо как-то сделать что бы из массива можно было вызвать эту функцию, при этом у sub1 x должен = 1, у sub2 x = 2 и т.д., кто может помочь?
PS удалите плиз эту тему
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2011, 09:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы и сабклассы (C++):

Непонятна тема (Классы содержащие другие классы, как данные члены ) - C++
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include <iostream> class Point { public: void SetX(int...

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

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

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) - C++
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию...

Классы возможностей(Mixin классы) - C++
Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет членов-данных) Т.е. к примеру у нас...

Классы, включающие другие классы - C++
Столкнулся вот с таким кодом: #include <iostream> class Point { public: void SetX(int x) {itsX = x;} void SetY(int y) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.02.2011, 10:17 #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
#include<iostream>
`
class CMyClass
{
public:
    int x;
    virtual void Init() = 0; 
}; 
 
class CMySubClass1:public CMyClass
{
public:
    void Init()
    {
        x = 1; 
    }
}; 
 
class CMySubClass2:public CMyClass
{
public:
    void Init()
    {
        x = 2; 
    }
}; 
 
int main(int argc, char *argv[])
{
    CMySubClass1 sub1; 
    CMySubClass2 sub2; 
    CMyClass *array[] = {&sub1,  &sub2};
    for(int i=0; i<2; ++i)
    {
        array[i]->Init();
        std::cout << array[i]->x << std::endl; 
    }
}
1
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
09.02.2011, 08:56  [ТС] #3
немного ошибся, а как в таком случае теперь вызвать конструктор мэйн класса?
C++
1
2
3
4
5
6
7
8
9
10
class CMyClass
{
public:
    int x;
    virtual void Init() = 0; 
 
   CMyCLass()
   {
   }
};
а то создание объекта мэйн класса приводит к таким ошибкам
Код
error C2259: 'CMyClass' : cannot instantiate abstract class due to following members:
see declaration of 'CMyClass'
warning C4259: 'void __thiscall CMyClass::Init(void)' : pure virtual function was not defined
see declaration of 'Init'
всё, разобрался, даже не надо никаких объектов мэйн класса создавать что бы вызвать его конструктор
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2011, 08:56
Привет! Вот еще темы с ответами:

классы/дочерние классы/методы - C++
помогите пожалуйста! надо что выводились только учебеники. чтоб былo через GetTip. h файл class Book { protected: char...

Динамические массивы структур;Классы. Класс массивы структур;Классы. Класс динамического массива структур. - C++
Здраствуйте.Помогите с практичкой мое задание 4.3. Строка таблицы данных содержит следующую информацию о владельцах авто: ф.и.о....

Классы - C++
Всем доброго времени суток, кто поможет реализовать след пункты: -конструктор без аргументов: -конструктор инициализации: ...

Классы в С++ - C++
Ребята, помогите пожалуйста. Я новичок в программировании, а сессия заканчивается. Нужно привести пример класса (С++): описание класса,...


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

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

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