【问题标题】:Using contstructors in a class with variables in a base class c++ [duplicate]在具有基类c ++中变量的类中使用构造函数[重复]
【发布时间】:2016-02-15 20:21:32
【问题描述】:

我正在尝试在一个类中使用构造函数,我分配输入的变量是在低音类中定义的。我正在使用继承,但仍然出现错误。这是代码:

class Machine_Items {
public:
    string item;
    float price;
    int quantity;
};

class Cart : Machine_Items {
public:
    Cart() = default;
    Cart(string userItem, float userPrice, int userQuantity) :
        item(userItem)), price(userPrice), quantity(userQuantity) {};
};

我该如何解决这个问题?

【问题讨论】:

  • 那么你得到的错误是什么?
  • 当您收到编译器错误时,请粘贴确切的错误消息。另外,看起来你那里有一个额外的)。错字?

标签: c++ class inheritance constructor


【解决方案1】:

你必须在基类中初始化这些变量,然后你可以从派生类中调用基类的构造函数

class Machine_Items{
public:
    Machine_Items(string userItem, float userPrice, int userQuantity)
    : item(userItem), price(userPrice), quantity(userQuantity) { }

    string item;
    float price;
    int quantity;
};

class Cart : public Machine_Items
{
public:
    Cart() = default;
    Cart(string userItem, float userPrice, int userQuantity)
    : Machine_Items(userItem, userPrice, userQuantity) {}
};

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 2014-07-26
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2017-02-04
    相关资源
    最近更新 更多