C++ c++;如何初始化派生类中的参数

C++ c++;如何初始化派生类中的参数,c++,C++,基类是carelectric是从car继承的派生类。 当用户在新模型中输入所有属性的数据时,需要在构造函数中包括哪些值,然后设置值?在当前模型中,,实际上不能访问Car的任何字段,因为在C++中默认使用“类< /Cord>>关键字时,所有字段都是私有的。它们需要保护或公共,以便子类访问它们。您需要定义构造函数,然后正确使用它们。在派生类初始化期间,应始终调用基类的相应构造函数: class car { string carID string carName }; class e

基类是
car
electric
是从
car
继承的派生类。
当用户在新模型中输入所有属性的数据时,需要在构造函数中包括哪些值,然后设置值?在当前模型中,

,实际上不能访问Car的任何字段,因为在C++中默认使用“<代码>类< /Cord>>关键字时,所有字段都是私有的。它们需要
保护
公共
,以便子类访问它们。

您需要定义构造函数,然后正确使用它们。在派生类初始化期间,应始终调用基类的相应构造函数:

class car
{
    string carID
    string carName
};

class electric : public car
{
    string battery
    string model
};

应该通过调用派生类的构造函数初始化列表中的基类构造函数来初始化基类成员

class car
{
    string carID;
    string carName;
public:
    car(string carid, string carname):carID(carid),carName(carname){}
};

class electric : public car
{
    string battery;
    string model;
public:
    electric(string carid, string carname, string battery, string model)
    :car(carid,carname),battery(battery),model(model){}
};

@frickskit的可能重复:不确定这是同一个问题。。他想简单地初始化派生类中的字段。请将您的classes@BartlomiejLewandowski为什么?班级资本化只是个人风格、公司风格指南或类似的问题。好的,我会研究一下。谢谢你的回复。我将如何定义set函数来设置特定电动汽车的值,我必须先调用汽车构造函数,然后调用电动汽车吗?不,您总是调用派生类构造函数。正如您在我列出的代码示例中所看到的,派生类的构造函数在初始化期间调用基类构造函数。不客气,如果您现在清楚了,请将此问题标记为已回答。
class car
{
    string carID;
    string carName;
public:
    car(string carid, string carname):carID(carid),carName(carname){}
};

class electric : public car
{
    string battery;
    string model;
public:
    electric(string carid, string carname, string battery, string model)
    :car(carid,carname),battery(battery),model(model){}
};
 class car
 {
    string carID
    string carName
    public:
       car (string id, string name): carID(id), carName(name) {}
 };

 class electric : public car
 {
   string battery
   string model
   public:
      electric (string id, string name, string b, string m): car(id, name), 
                                                battery(b), model(m){}
 };