Как изменять объекты в подклассе напрямую C++
#include <iostream>
class Object
{
public:
short type;
Object(short t) :type(t) {}
};
class Cube : public Object
{
public:
Cube() :Object(1) {}; //изменение через конструктор
};
int main()
{
Cube c = Cube();
std::cout << c.type;
return 0;
}
В коде выше я объявляю класс Object и его подкласс Cube. В Cube я инициализирую объект short type (он объявлен в Object) через конструктор. У меня появился вопрос по нахождению способа более простого инициализации и изменения объектов. Возможно надо поработать с полями доступа.
Ответы (1 шт):
Автор решения: Илья Черепанов
→ Ссылка
#include <iostream>
using std::string;
class Object
{
public:
short data;
};
class Cube : public Object
{
public:
Cube() { data = 0; }
void Func() { data = 1; }
};
int main()
{
Cube c;
string input;
while (input != "end")
{
std::cin >> input;
if(input == "PRINT") std::cout << "C's data is:" << c.data << std::endl;
if (input == "EDIT") c.Func();
}
return 0;
}
Необходимо изменять объекты с помощью функций подкласса.
Спасибо всем кто помог с вопросом. P.S. итоговый ответ написал Harry (https://ru.stackoverflow.com/users/195342/harry), на первом вопросе (Проблема с использованием объектов в подклассе C++), спасибо ему огромное!