c++继承与类

(1)法一:

 

#include<iostream>

#include<string>

using namespace std;

 

class worker {

private:

double Wage, Subsidy, Rent, Waterfee, Elecfee;

string name;

string dept;

int age;

public:

void setname(string workername) { name = workername; }; //定义工人名字

void setdept(string workerdept) {dept= workerdept; }; //工人工作部门

void setage(int ag) { age = ag; }//工人年龄

string getname() { return name; }

string getdept() { return dept; }

int getage() { return age; }

worker(double w, double s, double r, double wf, double e) { Wage = w, Subsidy = s, Rent = r, Waterfee = wf, Elecfee = e; }

worker() { Wage = 0; Subsidy = 0; Rent = 0; Waterfee = 0; Elecfee = 0; }

void setwage(double f) { Wage = f; };

void setsubsidy(double f) { Subsidy = f; };

void setrent(double f) { Rent = f; };

void setwaterfee(double f) { Waterfee = f; };

void setelecfee(double f) { Elecfee = f; };

double getwage() { return Wage; }

double getsubsidy() { return Subsidy; }

double getrent() { return Rent; }

double getwaterfee() { return Waterfee; }

double getelecfee() { return Elecfee; }

double getrealwage() { return Wage + Subsidy - Rent - Waterfee - Elecfee; }//计算实发工资;

};

int main()

{

while (1) {

double w; double s, r, wf, e;

worker b;

string workername, workerdept;

int ag;

b.setwage(100);

static int count; //定义静态变量人数

cout << endl;

cout << "工人名字:"; cin >> workername; b.setname(workername);

cout << "工人工作部门:"; cin >> workerdept; b.setdept(workerdept);

cout << "工人年龄:"; cin >> ag; b.setage(ag);

 

cout << "输入基本工资:"; cin >> w; b.setwage(w);

cout << "输入岗位津贴:"; cin >> s; b.setsubsidy(s);

cout << "输入房租:"; cin >> r; b.setrent(r);

cout << "输入水费:"; cin >> wf; b.setwaterfee(wf);

cout << "输入电费:"; cin >> e; b.setelecfee(e);

 

cout << "工人名字:" << b.getname() << endl;

cout << "工作部门:" << b.getdept() << endl;

cout << "工人年龄:" << b.getage() << endl;

 

cout << "基本工资:" << b.getwage() << endl;

cout << "津贴:" << b.getsubsidy() << endl;

cout << "房租:" << b.getrent() << endl;

cout << "水费:" << b.getwaterfee() << endl;

cout << "电费:" << b.getelecfee() << endl;

cout << "实发工资:" << b.getrealwage() << endl;

count = count + 1;

cout << "人数:" << count;

}

return 0;

}

(2)法二:

#include<iostream>

#include<string>

using namespace std;

 

class Salary {

private:

double Wage, Subsidy, Rent, Waterfee, Elecfee;

public:

Salary(double w, double s, double r, double wf, double e) { Wage = w, Subsidy = s, Rent = r, Waterfee = wf, Elecfee = e; }

Salary() { Wage = 0; Subsidy = 0; Rent = 0; Waterfee = 0; Elecfee = 0; }

void setwage(double f) { Wage = f; };

void setsubsidy(double f) { Subsidy = f; };

void setrent(double f) { Rent = f; };

void setwaterfee(double f) { Waterfee = f; };

void setelecfee(double f) { Elecfee = f; };

double getwage() { return Wage; }

double getsubsidy() { return Subsidy; }

double getrent() { return Rent; }

double getwaterfee() { return Waterfee; }

double getelecfee() { return Elecfee; }

double getrealwage() { return Wage + Subsidy - Rent - Waterfee - Elecfee; }//计算实发工资;

};

class worker :public Salary{

private:

double Wage, Subsidy, Rent, Waterfee, Elecfee;

string name;

string dept;

int age;

public:

void setname(string workername) { name = workername; }; //定义工人名字

void setdept(string workerdept) { dept = workerdept; }; //工人工作部门

void setage(int ag) { age = ag; }//工人年龄

string getname() { return name; }

string getdept() { return dept; }

int getage() { return age; }

};

int main()

{

while (1) {

double w; double s, r, wf, e;

worker b;

string workername, workerdept;

int ag;

static int count; //定义静态变量人数

cout << endl;

cout << "工人名字:"; cin >> workername; b.setname(workername);

cout << "工人工作部门:"; cin >> workerdept; b.setdept(workerdept);

cout << "工人年龄:"; cin >> ag; b.setage(ag);

 

cout << "输入基本工资:"; cin >> w; b.setwage(w);

cout << "输入岗位津贴:"; cin >> s; b.setsubsidy(s);

cout << "输入房租:"; cin >> r; b.setrent(r);

cout << "输入水费:"; cin >> wf; b.setwaterfee(wf);

cout << "输入电费:"; cin >> e; b.setelecfee(e);

 

cout << "工人名字:" << b.getname() << endl;

cout << "工作部门:" << b.getdept() << endl;

cout << "工人年龄:" << b.getage() << endl;

 

cout << "基本工资:" << b.getwage() << endl;

cout << "津贴:" << b.getsubsidy() << endl;

cout << "房租:" << b.getrent() << endl;

cout << "水费:" << b.getwaterfee() << endl;

cout << "电费:" << b.getelecfee() << endl;

cout << "实发工资:" << b.getrealwage() << endl;

count = count + 1;

cout << "人数:" << count;

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值