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

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

Войти
Регистрация
Восстановить пароль
 
Valeryn
41 / 25 / 5
Регистрация: 17.05.2015
Сообщений: 163
#1

Наследование конструкторов с параметрами и деструктора - C++

06.07.2015, 07:06. Просмотров 656. Ответов 4
Метки нет (Все метки)

Данно два класс.
Родитель:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class entity
{
private:
    int ID = 0;
    class object_list * list_;
protected:
    std::string title = "none";
    double x = 0;
    double y = 0;
public:
    entity(class object_list &objlist);
    ~entity();
};
Дочерний:

C++
1
2
3
4
5
6
7
8
9
10
class npc : public entity
{
protected:
    int size;
    int heal;
    int speed;
public:
    npc(object_list &list_);
    ~npc();
};
Если мне надо, что бы конктруктор родителя и дескриптер родителя выполнялся во всех дочерних классах со всеми параметрами, писать надо такую конструкцию?
C++
1
2
3
4
5
6
7
8
9
10
npc::npc(object_list &list_) : entity(list_) {
    size = 1;
    heal = 1;
    speed = 1;
}
 
 
npc::~npc() {
 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2015, 07:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование конструкторов с параметрами и деструктора (C++):

Реализация конструкторов и деструктора - C++
Дорогие форумчане! В своем обучение дошел до создания класса. В этом примере должны были заработать конструкторы и деструктор: ...

Использование конструкторов и деструктора при проектировании пользовательского класса - C++
Дан одномерный массив A. Найти max (a2, a4, …, a2k) + min (a1, a3, …, a2k+1).

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

Наследование конструкторов - C++
если при наследовании классов отсутствует конструктор в базовом классе, то что тогда? Помогите, не могу найти ответ в инете.

Наследование конструкторов? - C++
Сдаю лабораторную на тему наследования в С++ : #include <iostream> using namespace std; class hero { protected: int jiv; ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
06.07.2015, 07:09 #2
Цитата Сообщение от Valeryn Посмотреть сообщение
дескриптер
Definitions of descriptor
noun
an element or term that has the function of describing, identifying, or indexing, in particular.
Что-то не в ту степь
destructor - метод, который вызывается при уничтожении объекта
0
hoggy
Нарушитель
6588 / 2769 / 476
Регистрация: 15.11.2014
Сообщений: 6,119
Завершенные тесты: 1
06.07.2015, 07:14 #3
Цитата Сообщение от Valeryn Посмотреть сообщение
Если мне надо, что бы конктруктор родителя и дескриптер родителя выполнялся во всех дочерних классах со всеми параметрами, писать надо такую конструкцию?
ага. как вариант.
а не "дескриптер", а "деструктор".
0
Valeryn
41 / 25 / 5
Регистрация: 17.05.2015
Сообщений: 163
06.07.2015, 07:17  [ТС] #4
очапяточка D=

Но у меня все равно вопрос по конструктору идет. Условие у меня такого, что конструктор обязан быть с параметром. Но вот как правильно дочерний конструктор описывать, что бы родительскому можно было передать нужный параметр - у меня вызывает вопрос, особенно с учетом того, что я передаю ссылку.
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
06.07.2015, 07:18 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Конструктор базового класса вызывать обязательно.
Деструкторы сами вызовутся как для базового, так и для производного.
Одно исключение. Если используется виртуальный вызов (через указатель на базовый класс),
то и деструктор делайте виртуальным.
C++
1
2
3
entity *pe;
pe=new npc(1.2);
delete pe;// без virtual вызывается только деструктор базового клласса
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2015, 07:18
Привет! Вот еще темы с ответами:

Наследование конструкторов - C++
Добрый день. Подскажите как правильно осуществить наследование конструктора в двух файлах h и cpp. В одном h файле все работало. ...

Наследование конструкторов - C++
Создать класс CPoint – точка. На его основе создать классы CColoredPoint и CLine. На основе класса СLine создать класс CcoloredLine и класс...

Наследование конструкторов - C++
Здрасти. Такая проблема. У меня есть классы с таким наследованием: KIERUNEK-->PRZEDMIOT-->OCENA<--STUDENT Вот конструкторы класса...

Наследование конструкторов - C++
Здравствуйте! У меня такой вопрос: Как сделать так, чтобы при создании объекта дочернего класса не вызывался конструктор родительского? При...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.07.2015, 07:18
Ответ Создать тему
Опции темы

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