C++程序设计实验报告(六十三)---第十周任务2
2012-04-20 22:15
537 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:CPerson的类为基类,派生出CEmployee类
* 作 者: 刘镇
* 完成日期: 2012 年 4 月 20 日
* 版 本 号: 1.059
* 对任务及求解方法的描述部分
* 输入描述: 姓名、身份证号、性别、年龄、部门和薪水
* 问题描述: ......
* 程序输出: 以标准格式输出。
* 程序头部的注释结束
*/
运行结果:
感言:
1、在输出内容时,开始总想分两部分,一部分输出基类的,另一部分输出派生类,但从结果上看是不成功的,因此仔细理顺一下,就是在输出基类数据时单独一部分在基类定义,其余在派生类中编写。
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:CPerson的类为基类,派生出CEmployee类
* 作 者: 刘镇
* 完成日期: 2012 年 4 月 20 日
* 版 本 号: 1.059
* 对任务及求解方法的描述部分
* 输入描述: 姓名、身份证号、性别、年龄、部门和薪水
* 问题描述: ......
* 程序输出: 以标准格式输出。
* 程序头部的注释结束
*/
#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:man int m_nAge; public: CPerson(char *name,char *id,int sex,int age); void Show1(); ~CPerson(); //需要释放建立对象时动态分配的内存 }; CPerson::CPerson(char *name,char *id,int sex,int age):m_szName(name), m_szId(id), m_nSex(sex), m_nAge(age){} CPerson::~CPerson(){} void CPerson::Show1() { cout << setiosflags(ios::left); cout << m_szName << '\t' << setw(20)<< m_szId << '\t'; if(m_nSex == 0) { cout << "women"; } else { cout << "man"; } cout << '\t' << m_nAge << '\t'; } 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(); }; 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 << setw(15) << m_szDepartment << '\t' << m_Salary << endl; } CEmployee::~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; }
运行结果:
感言:
1、在输出内容时,开始总想分两部分,一部分输出基类的,另一部分输出派生类,但从结果上看是不成功的,因此仔细理顺一下,就是在输出基类数据时单独一部分在基类定义,其余在派生类中编写。
相关文章推荐
- 《第十周实验报告任务3》
- 第十周实验报告任务3
- 第十周实验报告 任务三
- 第十周实验报告(任务1)
- C++程序设计实验报告(五十九)---第九周任务3
- C++程序设计实验报告(八十四) --- 第十七周任务一
- C++程序设计实验报告(三十九)---第五周任务一
- C++程序设计实验报告(五十四)---第八周任务二
- 第十周实验报告(任务二)【在CPerson类的基础上派生出CEmployee类】
- C++程序设计实验报告(六十八)---第十二周任务四
- C++程序设计实验报告(八十)---第十六周任务二
- C++程序设计实验报告(五十五)---第八周任务三
- 第十周实验报告任务1 由坐标点类派生出直线类
- 第十周实验报告(任务3)
- 第十周实验报告(任务2)
- C++程序设计实验报告(六十九)---第十三周任务一
- C++程序设计实验报告(三十)---第二周任务三(3-2)
- 《第十周实验报告任务1》
- C++程序设计实验报告(七十)---第十三周任务二
- C++程序设计实验报告(三十五)---第四周任务一