在里面定义了构造函数,但是却提示我没有合适的构造函数?为什么?
“Salary”前的类型(构造函数有返回类型或是当前类型名称的非法重定义?)
“Salary”: 没有合适的默认构造函数可用[code]#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class Salary{
public:
void Salary(int,char,float,float,float,float,float)//构造函数
{
num=0;
name="null";
basemoney=0;
otmoney=0;
admoney=0;
kouchu=0;
fact=0;
};
int num;
string name;
float basemoney;
float otmoney;
float admoney;
float kouchu;
float fact;
};
void input(Salary a)
{
ofstream outfile("D:\\Salary.dat",ios::app);
cout<<"请输入职工编号";cin>>a.num;
cout<<"请输入职工名称";cin>>a.name;
cout<<"请输入职工基本工资";cin>>a.basemoney;
cout<<"请输入职工加班工资";cin>>a.otmoney;
cout<<"请输入职工奖金";cin>>a.admoney;
cout<<"请输入职工扣除金额";cin>>a.kouchu;
outfile<<a.num<<" "<<a.name<<" "<<a.basemoney<<" "<<a.otmoney<<" "<<a.admoney<<" "<<a.kouchu<<" "<<endl;
}
void main()
{
Salary A;//为什么这里却提示没有合适的构造函数可用
Salary B;
Salary C;
input(A);
input(B);
input(C);
}[/code]
在里面定义了构造函数,但是却提示我没有合适的构造函数?为什么?
答案:1 悬赏:80 手机版
解决时间 2021-02-20 15:30
- 提问者网友:niaiwoma
- 2021-02-20 01:49
最佳答案
- 五星知识达人网友:荒野風
- 2021-02-20 02:11
#include<fstream>
#include<string>
using namespace std;
class Salary{
public:
void Salary() // 这里写的参数,但是在函数内部没有引用,所以一点意义都没有
{
num=0;
name="null";
basemoney=0;
otmoney=0;
admoney=0;
kouchu=0;
fact=0;
};
public:
int num;
string name;
float basemoney;
float otmoney;
float admoney;
float kouchu;
float fact;
};
void input(Salary a)
{
ofstream outfile("D:\\Salary.dat",ios::app);
cout<<"请输入职工编号";cin>>a.num;
cout<<"请输入职工名称";cin>>a.name;
cout<<"请输入职工基本工资";cin>>a.basemoney; // 这里如果前一个信息输入错了怎么办? cout<<"请输入职工加班工资";cin>>a.otmoney;
cout<<"请输入职工奖金";cin>>a.admoney;
cout<<"请输入职工扣除金额";cin>>a.kouchu;
outfile<<a.num<<" "<<a.name<<" "<<a.basemoney<<" "<<a.otmoney<<" "<<a.admoney<<" "<<a.kouchu<<" "<<endl;
// 文件流打开了 却没有关闭
}
void main()
{
Salary A;//为什么这里却提示没有合适的构造函数可用
Salary B;
Salary C;
input(A);
input(B);
input(C);
}
#include<string>
using namespace std;
class Salary{
public:
void Salary() // 这里写的参数,但是在函数内部没有引用,所以一点意义都没有
{
num=0;
name="null";
basemoney=0;
otmoney=0;
admoney=0;
kouchu=0;
fact=0;
};
public:
int num;
string name;
float basemoney;
float otmoney;
float admoney;
float kouchu;
float fact;
};
void input(Salary a)
{
ofstream outfile("D:\\Salary.dat",ios::app);
cout<<"请输入职工编号";cin>>a.num;
cout<<"请输入职工名称";cin>>a.name;
cout<<"请输入职工基本工资";cin>>a.basemoney; // 这里如果前一个信息输入错了怎么办? cout<<"请输入职工加班工资";cin>>a.otmoney;
cout<<"请输入职工奖金";cin>>a.admoney;
cout<<"请输入职工扣除金额";cin>>a.kouchu;
outfile<<a.num<<" "<<a.name<<" "<<a.basemoney<<" "<<a.otmoney<<" "<<a.admoney<<" "<<a.kouchu<<" "<<endl;
// 文件流打开了 却没有关闭
}
void main()
{
Salary A;//为什么这里却提示没有合适的构造函数可用
Salary B;
Salary C;
input(A);
input(B);
input(C);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯