Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
1

Наследование Классов

28.05.2011, 20:37. Показов 882. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
class base
{
public:
    int t;
    base(){t=0;};
    ~base(){};
};
class one:public base
{
public:
    one(){t=1;};
    ~one(){};
};
class two:public base
{
public:
    two(){t=2;};
    ~two(){};
    void dwa(){/*...*/}
};
int main(int argc, char *argv[])
{
    base* yk[2];
    yk[0]=new one();
    yk[1]=new two();
    yk[1]->dwa();
    return 0;
}
При компиллировании ругается, что dwa() не является членом класса base.
Возможно ли как-нибудь осуществить такой вызов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2011, 20:37
Ответы с готовыми решениями:

Автоматическая генерация классов С ++ с UML диаграмм классов. Наследование в с++. Абстрактные классы. WhiteStarUML
Создать классовую модель(желательно в WhiteStarUML), которая включает в себя абстрактный класс...

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

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

наследование классов
При попытке сделать в main так: B_tree bt; bt.add_node(bt.get_root(), p, 4);...

7
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
28.05.2011, 20:44 2
Слова "виртуальная функция" ничего не говорят? Нет?
0
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
28.05.2011, 20:55  [ТС] 3
Если написать
virtual void dwa(){/*...*/}
ничего не изменится. Или вы имели ввиду создать в классе base виртуальную функцию dwa? уточните пожалуйста, что вы имели ввиду.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
28.05.2011, 21:15 4
Да. Именно это я и имел ввиду. В базовом классе создаете чистую виртуальную функцию, а в наследниках ее реализуете. Тогда через указатель базового класса можно вызывать метод наследника.
0
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
28.05.2011, 21:40  [ТС] 5
А если dwa была бы не функцией, а переменной, и надо было бы ее вызвать так же?
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
28.05.2011, 21:46 6
Цитата Сообщение от Ufo's Посмотреть сообщение
А если dwa была бы не функцией, а переменной, и надо было бы ее вызвать так же?
Вы, хотите сказать, поле класса?
Поля класса по принципу инкапсуляции обычно делают приватными. А для доступа? если уж нужен конкретный доступ, делают два метода get()/set().
0
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
28.05.2011, 22:35  [ТС] 7
а что за методы,можно поподробнее или какое-нибудь название этих методов, чтобы можно было загуглить?
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
28.05.2011, 23:28 8
get() - получить значение поля.
set() - изменить значение поля. Что тут гуглить-то?
0
28.05.2011, 23:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2011, 23:28
Помогаю со студенческими работами здесь

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

наследование классов
нужно создать программу состоящую из классов по принципу наследования то есть отец-сын-внук...

наследование классов в C++
решил я с SDL поиграться.... ругается на 9 строчку компилятор, где ошибку допустил не...

Наследование классов
к примеру , запись наследования класса class tria : public shape имеем доступ к public и...

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

Наследование классов
Дан базовый класс, показать как он будет наследоваться произвольным классом class planet { int...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru