谁帮我修改下这个c++程序啊。。谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:48:02
有3个错误我不知道怎么改 哪个好心人帮我看看 谢谢了。。。

#include <iostream>
using std::cin;
using std::cout;
using std::endl;

#include <string>
using std::string;
using std::getline;

class Employee
{
string aFirstName;
string alastName;
int aMonthlySalary;
int aYearlySalary;

public:
Employee()
{
setaFirstName(fName);
setaLastName(lName);
setaMonthlySalary(Salary);
}
void setaFirstName(string fName)
{
aFirstName=fName;
}
string getaFirstName()
{
return aFirstName;
}
void setaLastName(string lName)
{
aLastName=lName;
}
string aLastName()
{
return aLastName;
}
void setaMonthlySalary(int salary)
{
if(salary<=0)
aMonthlySalary=0;
if(salary>0)
aMonthlySalary=salary;
}
string getaMonthlySalary()
{
return aMonthlySalary;
}<

1. 构造函数不对
里面的fName,lName,Salary不是传入的参数,也不是临时变量。从Main函数的调用来看,构造函数写成空的就行了。

2. string getaMonthlySalary()不对
这个函数返回值类型是string, 但内部实际返回的是int型的aMonthlySalary。可以把这个函数的返回值类型改成int

3. Main函数中setaMonthlySalary的调用不对。根据申明,setaMonthlySalary的入参应为int型,而Main函数中使用的money是string。可以把Main函数中money的类型改成int。(我记不清getline能不能取回一个整数了,如果不行可以把getline(cin,money)改成cin>>money)