gpt4 book ai didi

c++ - 接受两个子类之一并在它们上调用相同函数的函数

转载 作者:行者123 更新时间:2023-11-30 03:04:04 25 4
gpt4 key购买 nike

我有两个类都扩展了一个父类。我想编写一个函数,它可以采用任一类但调用子函数。

即:

class employee
{
public:
employee();
virtual ~employee();
int wage;
int hours;
virtual int calculatePay() =0;

};

class factoryWorker : public employee
{
public:
factoryWorker();
int calculatePay();
};

class manager : public employee
{
public:
manager();
int calculatePay();
};

在 main.cpp 文件中我有一个函数

int getPay(employee anyTypeOfWorker) {
return anyTypeOfWorker.calculatePay();
}

但是这个函数总是调用父(员工)calculatePay() 函数而不是覆盖函数。

谢谢。

最佳答案

通过地址传递。

int getPay(employee* anyTypeOfWorker) {
return anyTypeOfWorker->calculatePay();
}

关于c++ - 接受两个子类之一并在它们上调用相同函数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975301/

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