我想用C++建立一个职工信息管理系统,输出职工的信息,能够根据不同的方式计算工资,下面是继承职工积累的销售员类,我想通过函数 float data2() 来计算销售员的工资 wages ,可是编译出错,不知道是为什么。求各位大哥大姐帮帮忙。急!!!
#include <iostream>
#include <string>
using namespace std;
class employee //声明基类职工类employee
{public:
employee(int num,string nam,int a,char s,int g); //声明构造函数
void display(); //声明成员函数display
protected:
int number;
string name;
int age;
char sex;
int grade; //以上五行为私有数据成员
};
employee::employee(int num,string nam,int a,char s,int g): //在类外定义employee构造函数,并将其成员初始化
number(num),name(nam),age(a),sex(s),grade(g){} //参数列表
void employee::display() //定义employee类函数display,用于输出各成员的值
{cout<<"number:"<<number<<endl;
cout<<"name:"<<name<<endl;
cout<<"age:"<<age<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"grade:"<<grade<<endl;
}
class salesman:public employee //声明销售员类salesman,公有继承职工基 类 employee
{public:
salesman(int num,string nam,int a,char s,int g=1); //声明构造函数
float data2() //定义计算销售员工资的函数
{float salesvalume;
cout<<"please enter the salesvalume:"; //从键盘上输入销售额
cin>>salesvalume>>endl;
wages=salesvalume*0.04;
return 0;
}
void display2(); //声明成员函数display2
protected:
float wages; //wages为保护成员
};
salesman::salesman(int num,string nam,int a,char s,int g):
//在类外定义salesman构造函数,并将其成员初始化
employee(num,nam,a,s,g){}
void salesman::display2()
//在类外定义成员函数display2, 用于输出salesman的相关信息
{cout<<"number:"<<number<<endl;
cout<<"name:"<<name<<endl;
cout<<"age:"<<age<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"grade:"<<grade<<endl;
cout<<"wages:"<<wages<<endl;
}
int main()
{salesman salem(2,"li-wang",21,"f");
salem.data2();
salem.display2();
return 0;
}
不要>>endl
还是有一个错误哎,麻烦您可以说详细一点么?
@Mr小区:
第4个参数不是char嘛,怎么用"f"了。
其实我也不懂,才看了几天C++,你细心点应该就能解决大部分问题了。。。
@向往-SONG: 那请问应该改成什么样才能正常运行?
@Mr小区:
salesman salem(2,"li-wang",21,'f');
employee::employee(int num,string nam,int a,char s,int g): //在类外定义employee构造函数,并将其成员初始化
number(num),name(nam),age(a),sex(s),grade(g){} //参数列表
请问这句话什么意思啊?中间为什么有个冒号呢?