这似乎是一个明显的答案..但我试图为我的属性分配一个值。 IE:
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"同样适用于主干道等...但是我得到一个错误说"使_starter静态" 。
我也试过做类别(_starter =" starter");这也没用。
答案 0 :(得分:1)
您可以将初始值作为参数传递给构造函数。
// ...
// 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.
// ...
答案 1 :(得分:0)
您无法在类声明中定义成员的值,您需要将其声明为静态并在定义(即.cpp)文件中定义它,或者在构造函数中定义它。