第十周实验报告2

来源:互联网 发布:软件著作权办理时间 编辑:程序博客网 时间:2024/06/16 21:52
/* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生 
* Copyright (c) 2012, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:                         
* 作    者:        于昊                   
* 完成日期:  2012 年4 月 22日
* 版 本 号:        v1
* 对任务及求解方法的描述部分
* 输入描述:…… 
* 问题描述:…… 
* 程序输出:……
* 程序头部的注释结束*/
#include <iostream>#include <string.h>#include <iomanip>//setw:设置输出数据的宽度,使用时应#include <iomanip.h> using namespace std;class CPerson {protected:char *m_szName;char *m_szId;int m_nSex;//0:women,1:manint m_nAge;public:CPerson(char *name,char *id,int sex,int age);void Show1();~CPerson();  //需要释放建立对象时动态分配的内存};class CEmployee:public CPerson{private:char *m_szDepartment;float m_Salary;public:CEmployee(char *name,char *id,int sex,int age,char *department,float salary);void Show2();~CEmployee();};int main(){char name[10],id[19],department[10];int sex,age;float salary;cout<<"input employee's name,id,sex(0:women,1:man),age,department,salary:\n";cin>>name>>id>>sex>>age>>department>>salary;CEmployee employee1(name,id,sex,age,department,salary);employee1.Show2();system("pause");return 0;}CPerson::CPerson(char *name,char *id,int sex,int age){      m_szName= name;      m_szId=id;  m_nSex= sex;//0:women,1:man  m_nAge=age;}void CPerson::Show1(){cout<< m_szName<<'\t'<<setw(20)<< m_szId<<'\t'<<((m_nSex==1)?"man":"woman")<<'\t'<< m_nAge<<'\t';}CPerson::~CPerson(){}CEmployee::CEmployee(char *name,char *id,int sex,int age,char *department,float salary):CPerson(name, id, sex, age){      m_szDepartment = department;      m_Salary = salary;}void CEmployee::Show2(){cout << setiosflags(ios::left) ;cout<<"name"<<'\t'<< setw(20) <<"id"<<'\t'<<"sex"<<'\t'<<"age"<<'\t'<<"department"<<'\t'<<"salary" << endl;Show1();cout<<m_szDepartment<<'\t'<<m_Salary<<endl;}CEmployee::~CEmployee(){}


 在类里是这样定义的char *m_szName;char *m_szId; 构造函数可以这样写CPerson::CPerson(char *name,char *id,int sex,int age){ m_szName= name; m_szId=id;}相当于把地址赋值给地址,输出时相当于输出数组名,直接输出变量名就把字符串输出啦。

CEmployee::CEmployee(char *name,char *id,int sex,int age,char *department,float salary):CPerson(name, id, sex, age)
{

      m_szDepartment = department;
      m_Salary = salary;
}

在派生类中构造时 参数要全部写出,把基类的参数写到后面。

原创粉丝点击