error C2660: “Employee::reset”: 函数不接受 3 个参数

#include<iostream>#include<string>usingnamespacestd;classEmployee{public:Employee(str... #include <iostream>
#include <string>
using namespace std;

class Employee
{
public:
Employee(string n, int i)
{
name = n;
ID = i;
}
~Employee()
{
}
virtual void reset(string n, int i)
{
name = n;
ID = i;
}
virtual void print()
{
cout << "Employee name: " << name << endl;
cout << "Employee ID: " << ID << endl;
}
string name;
int ID;
};

class Manager :public Employee
{
public:
Manager(string n, int i, double s)
:Employee(n, i)
{
salary = s;
}
void reset(string n, int i, double s)
{
name = n;
ID = i;
salary = s;
}
void print()
{
cout << "Manager name: " << name << endl;
cout << "Manager ID: " << ID << endl;
cout << "Manager salary: " << salary << endl;
}
double salary;
};

int main()
{
Employee *e;
Manager M("borban", 1001, 15000.00);
e = &M;
e->reset("borban", 1001, 16000.00); //error C2660: “Employee::reset”: 函数不接受 3 个参数
e->print();
}
把EMPLOYEE类的reset的virtual去掉,一样会有C2660错误
void reset(string n, int i)
{
name = n;
ID = i;
}
展开
 我来答
udmaster
推荐于2018-04-24 · 超过26用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:47.7万
展开全部
Employee *e;
Manager M("borban", 1001, 15000.00);
e = &M;
到这里你子类强制转化为父类了
在父类中的reset并没有3个参数所以报错
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式