Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Milena69
1 / 1 / 1
Регистрация: 26.11.2016
Сообщений: 22
1

Виртуальные функции при создании иерархии классов

07.03.2017, 23:33. Просмотров 145. Ответов 4
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
using namespace std;
class var{
int temperatura;   
float shirina; 
public:
virtual void message(void) {cout << "Istochnik tepla\n";} 
}; 
class Istochnik : public var
{ 
int passenger_load; 
public: 
void message(void) {cout << ":Solnce\n";} 
}; 
class Solnce : public var  { 
int passenger_load; 
float payload; 
public:  
int passengers(void) {return passenger_load;} 
}; 
class Koster : public var  { 
int passenger_load; 
public: 
int passengers(void) {return passenger_load;} 
void message(void) {cout << ":Koster\n";} 
}; 
void main() { 
var *uni; 
uni = new var; 
uni->message();   
delete uni;  
uni = new Istochnik; 
uni->message(); 
delete uni; 
uni= new Solnce; 
uni->message(); 
delete uni; 
uni = new Koster; 
uni->message(); 
system("pause");
delete uni; 
}
Доброго времени суток!
Очень нужна помощь, ребят. Вот мой код, но у меня такой вопрос, если после структуры базового класса var добавлю b
C++
1
2
3
4
5
6
class var{
int temperatura;   
float shirina; 
public:
virtual void message(void) {cout << "Istochnik tepla\n";} 
}b;// Добавила b
Как мне получить доступ к полям этого класса через это b в мэйне и присвоить к примеру значение к temperatura.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2017, 23:33
Ответы с готовыми решениями:

Почему при создании класса у абстракных классов по иерархии пусто в _vptr ?
Вот что я имею ввиду:

Наследование классов и виртуальные функции
Доброго времени суток. Передо мной стоит следующая задача: Разработать программу с использованием...

Реализовать иерархию классов, используя виртуальные функции
Здравствуйте! Хочется убедиться, что я правильно поняла задание. Буду благодарна за...

Реализовать иерархию классов (использовать наследование, полиморфизм, виртуальные функции)
Первый базовый класс – млекопитающие; поля – способ питания, вес, среда обитания. Во втором базовом...

Виртуальные функции (создать массив указателей на объекты трех классов)
Задание: создать массив указателей на объекты трех классов. Метод Show почему-то не...

4
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
07.03.2017, 23:43 2
Цитата Сообщение от Milena69 Посмотреть сообщение
Как мне получить доступ к полям этого класса через это b в мэйне и присвоить к примеру значение к temperatura.
Так как temperatura находится в приватной части класса, то для доступа к нему из main() нужен public-методы: для задания значения и для получения значения temperatura (сеттер и геттер).
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
07.03.2017, 23:43 3
Конструктор добавь. А если надо несколько раз менять, то функции.
0
Milena69
1 / 1 / 1
Регистрация: 26.11.2016
Сообщений: 22
07.03.2017, 23:55  [ТС] 4
Можно код пожалуйста? а то я так никогда не разберусь.
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
08.03.2017, 08:19 5
C++
1
2
3
4
5
6
7
8
class var
{
    int temperatura;   
    float shirina; 
public:
    var(int t = 0, float sh = 0): temperatura(t), shirina(sh) {}
    virtual void message(void) {cout << "Istochnik tepla\n";} 
};
C++
1
uni = new var(100, 100.);
1
08.03.2017, 08:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2017, 08:19

Почему RTTI работает только с иерархией классов, содержащие виртуальные функции?
Почему RTTI работает только с иерархией классов, содержащие виртуальные функции?

Виртуальные базовые классы: какие требования предъявляются к иерархии наследования?
класс на вершине иерархии определяет конструктор с параметрами. какие требования предъявляются к...

Ошибка при создании двумерного массива из объектов производных классов
Доброго времени суток. Для начала обрисую ситуацию. Мне нужно динамически создать двумерный массив...


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

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

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