这似乎是一个显而易见的答案..但我正在尝试为我的属性分配一个值。 即:
class category{
private:
string _starter;
string _maincourse;
string _pudding;
string _drink;
string _itemDescription;
string _price;
public:
category();
category(string starter, string maincourse, string pudding, string drinks);
void display();
string tostring();
//Giving value to attributes
string _starter = "starter";
};
我正在尝试使 _starter = "starter"与主菜等相同......但是我收到一条错误消息 "making _starter static"。
我也试过做 category(_starter = "starter");这也不起作用。
最佳答案
您可以将初始值作为参数传递给构造函数。
// ...
// constructor:
category
( const char * starter
, const char * maincourse
, const char * pudding
, const char * drink
, const char * itemDescription
, const char * price
)
: _starter(starter)
, _maincourse(maincourse)
, _pudding(pudding)
, _drink(drink)
, _itemDescription(itemDescription)
, _price(price)
{}
此外,您还可以为表单中的数据项创建访问器函数:
public:
string& Starter() { return _starter; } // non-const accessor
const string& Starter() const { return _starter; } // const accessor.
// ...
关于C++ 给属性赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29431870/