В C++, как я могу использовать класс, который принимает аргумент, чтобы передать его конструктор в качестве нового типа для объявления переменной в другом классе (и использовать ввод, выполненный конструктором второго класса для подачи конструктора первого класса?)Использование класса как типа для объявления переменной в другом классе
Что я хочу сделать, это что-то вроде следующего, но я не знаю, как правильно выполнить часть класса Object, и я продолжаю получать ошибки (I не хотят, чтобы получить класс объектов из класса Color)
enum color_enum {red, blue, green, black};
class color
{
protected:
color_enum col;
public:
color(color_enum initval)
{
col = initval;
}
string str()
{
switch (col)
{
case red:
return "red";
case blue:
return "blue";
case green:
return "green";
case black:
return "black";
default:
return "N/A";
}
}
};
ostream &operator<< (ostream &out, color &inst)
{
out << inst.str();
return out;
}
class Object
{
public:
float objvolume;
float objmass;
string objname;
color objcolor(initval);
};
класс [...] ", чтобы объявить переменную в другом классе"? Извините, я не понимаю, не могли бы вы переформулировать или привести пример? – thiton
Вы либо инициализируетесь с жестко запрограммированным значением (например, 'red'), либо передаете значение конструктору' Object'; в любом случае вы должны использовать список инициализаторов. –