gpt4 book ai didi

c++ - 派生类 C++

转载 作者:行者123 更新时间:2023-11-28 02:03:54 27 4
gpt4 key购买 nike

<分区>

我知道这可能很愚蠢,但我什至不知道如何命名这个问题。我不是英语母语。我从一本书上学习 C++,有一个程序显示雇员(基类)和 Manager(派生类)的姓名和工资率,并添加了 bool 变量 受薪。这是源代码:

//base class
class Employee {
private:
string name;
double pay;
public:
Employee() {
name = "";
pay = 0;
}

Employee(string empName, double payRate) {
name = empName;
pay = payRate;
}

string getName() const {
return name;
}

void setName(string empName) {
name = empName;
}

double getPay() const {
return pay;
}

void setPay(double payRate) {
pay = payRate;
}

string toString() {
stringstream stm;
stm << name << ": " << pay;
return stm.str();

}
};

//derived class
class Manager : public Employee {
private:
bool salaried;
public:
Manager(string name, double payRate, bool isSalaried)
:Employee(name, payRate)
{
salaried = isSalaried;
}
bool getSalaried() {
return salaried;
}
};

int main()
{
Employee emp1("Mary Smith", 15.00);
cout << "Employee name: " << emp1.getName() << endl;
cout << "Employee pay rate: " << emp1.getPay() << endl;
Manager emp2("Bob Brown", 1500, true);
cout << "Employee name: " << emp2.getName() << endl;
cout << "Employee pay rate: " << emp2.getPay() << endl;
cout << "Is Salaried: " << emp2.getSalaried() << endl;
return 0;
}

谁能给我解释一下为什么这部分

:Employee(name, payRate)

必须添加到代码才能正常工作吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com