Как я могу инициализировать производный класс, используя его атрибуты и конструктор базового класса?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу инициализировать производный класс, используя его атрибуты и конструктор базового класса?

Сообщение Anonymous »

, начиная с базового класса, я хочу создать несколько производных классов, которые отличаются друг от друга для значения ряда членов данных. Эти разные атрибуты используются в конструкторе BaseClass для разжижения других членов данных. Ниже вы можете найти упрощенный пример того, что я имею в виду; < /p>

Код: Выделить всё

class BaseClass {
public:
BaseClass(int a, double b, int c, std::string d) {
// Do stuff depending also on d
}
double f;  // Inizialized in the BaseClass constructor
};

class DerivedClass1 : public BaseClass {
public:
DerivedClass1(int a, double b, int c) : BaseClass(a, b, c, d) {};
std::string d = "Hello";
};

class DerivedClass2 : public BaseClass {
public:
DerivedClass2(int a, double b, int c) : BaseClass(a, b, c, d) {};
std::string d = "Goodbye";
};
< /code>
Однако я, безусловно, что -то делаю не так, так как я получаю
warning: field 'd' is uninitialized when used here [-Wuninitialized]
. Как правильный способ реализовать?

Подробнее здесь: https://stackoverflow.com/questions/765 ... -class-con
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»