C++ 给属性赋值

标签 c++

这似乎是一个显而易见的答案..但我正在尝试为我的属性分配一个值。 即:

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/

相关文章:

C++ std::vector 插入两个元素替代算法失败

c++ - 将字符串分配给数组的元素?

c++ - operator== 和 vector 混淆

c++ - 数组操作

c++ - 只接受字母

c++ - 错误 C2679 - C++ - 未找到运算符

c++ - 访问共享内存映射文件 View 的数量 (Windows)

c++ - LibVLC 空图像

c++ - 共享库中的 undefined symbol 与 g++

c++ - 在 Qt 的对话窗口中隐藏主窗口后如何显示主窗口