职位关键字 工作地点
工作名称 公司名称 校园招聘
中国最好的工作搜索引擎!
  回复留言  
  用c++编一个程序
作者: gsnake2  01-01 08:00   回复  
 1. 添加头文件声明基类Employee:

1) 私有数据成员:姓名string类型、社保编号string类型。

2) 构造函数:为数据成员初始化。

3) 公有成员函数:分别返回、修改两个数据成员的值。(函数名任意)

4) 公有成员函数Display():显示对象私有数据成员的值。

2. 添加头文件声明公有派生类WorkerMan(计时工类)

1) 私有数据成员:基本工资BasePay整型、奖金Bonus双精度。

2) 构造函数:

 为基类构造函数传参。

 为本类数据成员初始化。

 形参“奖金”有默认值0。

3) 公有成员函数:读、写“基本工资”的值。(函数名任意)

4) 公有成员函数Display():显示对象私有数据成员(包括从基类继承的数据成员)的值。

5) 公有成员函数Calculate(int m):计算奖金Bonus为基本工资的百分之m ,并返回。

6) 公有成员函数Pay:计算并返回工资额,工资为基本工资+奖金。

3. main函数:

1) 包括Employee、WorkerMan类的头文件。

2) 建立临时变量接收姓名、社保编号、基本工资、奖金。

3) 建立派生类对象w1。

4) 调Calculate函数,实参为50,计算w1的奖金为基本工资的50% 。

5) 对象名引用显示w1的姓名、社保编号、基本工资、奖金、工资总额。

6) 建立派生类指针p,并指向w1。

7) 指针引用显示w1的姓名、社保编号、基本工资、奖金、工资总额。

  回复:用c++编一个程序
作者: RichieChyi  01-01 08:00   回复  
 // Employee.h

///////////////////////////////////////////////////////////

#pragma once



#include <string>

#include <iostream>

using namespace std;



class Employee

{

public:

Employee() {}

Employee(string name, string num);

string getName() const;

string getID() const;



void Display() const;

private:

string m_strName;

string m_strID;

};



Employee::Employee(string name, string num) : m_strName(name), m_strID(num) {}



string Employee::getName() const

{

return m_strName;

}



string Employee::getID() const

{

return m_strID;

}



void Employee::Display() const

{

cout << "Name : " << m_strName << endl;

cout << "ID : " << m_strID << endl;

}

///////////////////////////////////

// Workerman.h

//////////////////////////////////

#pragma once



#include "Employee.h"



class WorkerMan : public Employee

{

public:

WorkerMan(string name, string num, int pay = 0, double bonus = 0.0);



int getBasePay() const;

double getBonus() const;



void setBasePay(int newPay);

void setBonus(double newBonus);



void Display() const;

double Calculate(int m) const;

double Pay() const;

private:

int m_iBasePay;

double m_dBonus;

};



WorkerMan::WorkerMan(string name, string num, int pay, double bonus) : Employee(name,num), m_iBasePay(pay),m_dBonus(bonus) {}



int WorkerMan::getBasePay() const

{

return m_iBasePay;

}

double WorkerMan::getBonus() const

{

return m_dBonus;

}



void WorkerMan::setBasePay(int newPay)

{

m_iBasePay = newPay;

}



void WorkerMan::setBonus(double newBonus)

{

m_dBonus = newBonus;

}



void WorkerMan::Display() const

{

Employee::Display();

cout << "Base Pay : " << m_iBasePay << endl;

cout << "Bonus : " << m_dBonus << endl;

}



double WorkerMan::Calculate(int m) const

{

return m_iBasePay * m * 0.01;

}



double WorkerMan::Pay() const

{

return m_iBasePay + m_dBonus;

}



////////////////////////////////////

// Main.cpp

////////////////////////////////////

#include "stdafx.h"

#include "Employee.h"

#include "WorkerMan.h"

#include <iostream>

#include <string>



using namespace std;



void main()

{

string strName = "Bill";

string strID = "1002";

int iBasePay = 3000;

double dBonus = 500.0;



WorkerMan w1(strName, strID, iBasePay, dBonus);



double dNewBonus = w1.Calculate(50);



w1.Display();



WorkerMan* p = &w1;

p->Display();

}

标 题:
内 容:
用户名:
 游客
 
 
Copyright©2005-2007, 版权所有 WWW.JOBMET.COM
ICP证:京ICP备06019556号