从项目2和项目3中选1题作为实验、剩下2题写成作业。

【项目1 - 龙三】

请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为:

Name: 龙三

Grade: 19

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. class Person{
  5. public:
  6. Person(string s){
  7. name=s;
  8. }
  9. void display( ){
  10. cout<<"Name: "<<name<<endl;
  11. }
  12. private:
  13. string name;
  14. };
  15. class Student: ___________//(1)
  16. {
  17. public:
  18. Student(string s, int g):__________ // (2)參考教材P169加底纹部分
  19. {grade=g;}
  20. void display1( ) {
  21. _________; // (3)
  22. cout<<"Grade: "<<grade<<endl;
  23. }
  24. private:
  25. int grade;
  26. };
  27. int main( )
  28. {
  29. Student s("龙三",19);
  30. ___________; // (4)
  31. return 0;
  32. }

【项目2 - 学生类】

  1. class Stu //声明基类
  2. {
  3. public:
  4. Stu(int n, string nam ); //基类构造函数
  5. void display( ); //成员函数。输出基类数据成员
  6. protected: //(*)訪问权限为保护型的数据成员
  7. int num; //学生学号
  8. string name; //学生姓名
  9. };
  10. class StuDetail: public Stu //声明派生类StuDetail
  11. {
  12. public:
  13. //学生nam,学号n,a岁。家住ad,他的班长是nam1,学号n1
  14. StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数
  15. void show( ); //成员函数。输出学生的信息
  16. void show_monitor( ); //成员函数,输出班长信息
  17. private:
  18. Stu monitor; //学生所在班的班长,班长是学生,是Stu类的成员
  19. int age; //学生年龄
  20. string addr; //学生的住址
  21. };
  22. int main( )
  23. {
  24. //学生张三,10010号,19岁,家住江西南昌。他的班长是李四。学号10001
  25.     StuDetail s(10010,"张三",19,"江西南昌",10001,"李四");
  26. s.show( ); //输出学生信息
  27. s.show_monitor(); //输出班长信息
  28. return 0;
  29. }

上面是声明好的类及測试函数,请完毕类中成员函数的定义。使执行结果如图所看到的。



【项目3 - 职员薪水】

   定义一个名为CPerson的类,有下面私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、输出信息的函数。

并在此基础上派生出CEmployee类。派生类CEmployee添加了两个新的数据成员,分别用于表示部门和薪水。

要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数。并为派生类CEmployee定义输出信息的函数。

  1. class CPerson
  2. {
  3. protected:
  4. string m_szName;
  5. string m_szId;
  6. int m_nSex;//0:女,1:男
  7. int m_nAge;
  8. public:
  9. CPerson(string name,string id,int sex,int age);
  10. void Show1();
  11. };
  12.  
  13. class CEmployee:public CPerson
  14. {
  15. private:
  16. string m_szDepartment;
  17. double m_Salary;
  18. public:
  19. CEmployee(string name,string id,int sex,int age,string department,double salary);
  20. void Show2();
  21. };
  22.  
  23. int main()
  24. {
  25. string name,id,department;
  26. int sex,age;
  27. double salary;
  28. cout<<"请输入雇员的姓名,ID,性别(0:女,1:男),年龄,部门,薪水:\n";
  29. cin>>name>>id>>sex>>age>>department>>salary;
  30. CEmployee employee1(name,id,sex,age,department,salary);
  31. employee1.Show2();
  32. return 0;
  33. }

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

C++第4次实验(提高班)—继承和派生1的更多相关文章

  1. 今天,Java编程周末提高班(第一期)正式结束

    Java编程周末提高班(第一期),走过了近两个月历程,一共同拥有68人次学生周末到老师家进行Java学习与交流.近距离的和一群年轻的学习接触,收获非常多,特别是对以后教学的改进.在学习的闲暇.大家自己 ...

  2. 夏令营提高班上午上机测试 Day 2 解题报告

    那一天,日照一中夏令营数据结构提高班的同学们终于想起了,被Day2上午的三道题支配的恐惧……   是的..这一天的题有点难想.. 本来打算前天写这篇随笔,然而前天在机房和同学打luogu月赛…… 昨天 ...

  3. 【C++ 实验六 继承与派生】

    实验内容 1. 某计算机硬件系统,为了实现特定的功能,在某个子模块设计了 ABC 三款芯片用于 数字计算.各个芯片的计算功能如下: A 芯片:计算两位整数的加法(m+n).计算两位整数的减法(m-n) ...

  4. 老段带你学鸟哥Linux视频教程 包含基础班+提高班

    老段带你学鸟哥Linux视频教程 包含基础班+提高班,附带pdf文档. 目录结构如下: 目录:/-老段带你学鸟哥Linux视频教程 [.9G] ┣━━老段带你学鸟哥-服务器篇 [1009.4M] ┃ ...

  5. c++学习--继承与派生

    继承和派生 1 含有对象成员(子对象)的派生类的构造函数,定义派生类对象成员时,构造函数的执行顺序如下: 1 调用基类的构造函数,对基类数据成员初始化: 2 调用对象成员的构造函数,对对象成员的数据成 ...

  6. C++ 继承与派生

    继承的意义? 使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程.它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事 ...

  7. C++学习笔记44:继承与派生

    类的组合,类的继承 类的组合(汽车类,轮子类,此时可以把轮子类组合到汽车类:) 类的继承(交通工具类,汽车类,此时汽车类可以派生自交通工具类:) 组合:常用描述has a.. 继承:常用描述is a ...

  8. C++复习:继承与派生

    1继承概念 面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.说了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础. 要 ...

  9. [C++]变量存储类别,指针和引用,类与对象,继承与派生的一些摘要

    C++中共有四种存储类别标识符:auto/static/register/extern 1.auto 函数或分程序内定义的变量(包括形参)可以定义为auto(自动变量).如果不指定存储类别,则隐式定义 ...

  10. 类属性与对象实现,init方法的作用,绑定方法,绑定方法与普通函数的区别,继承,抽象与继承,派生与覆盖

    今日内容: 1.类属性与对象属性 2.init方法的作用 3.绑定方法 4.绑定方法与普通函数的区别(非绑定方法) 5.继承 6.抽象与继承 7.派生与覆盖 1.类属性与对象属性 类中应该进存储所有对 ...

随机推荐

  1. 自定义及发布一个webservice服务

    自定义及发布一个webservice服务    - 声明 某个业务服务为webservice服务       通过@webservice 注解来声明    - 发布webservice服务       ...

  2. Codeforces Round #449 Div. 2 A B C (暂时)

    A. Scarborough Fair 题意 对给定的长度为\(n\)的字符串进行\(m\)次操作,每次将一段区间内的某一个字符替换成另一个字符. 思路 直接模拟 Code #include < ...

  3. TCP/IP和HTTP协议与Socket的区别联系

    参考资料: http://www.cnblogs.com/goodcandle/archive/2005/12/10/socket.html http://www.2cto.com/net/20121 ...

  4. Day 20 Object_oriented_programing(摘)

    面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.主要应用在一旦完成很少修改的地方,如linux ...

  5. Codeforces Round #467 (Div. 2) A. Olympiad[输入一组数,求该数列合法的子集个数]

    A. Olympiad time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  6. 暂停时间 以及dict 循环

    暂停时间 #!/usr/bin/python # -*- coding: UTF-8 -*- import time myD = {1: 'a', 2: 'b'} for key, value in ...

  7. andriod 支付宝类似界面图片加文字

    <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="ht ...

  8. 【京东账户】——Mysql/PHP/Ajax爬坑之购物车列表分页

    一.引言 做京东账户项目中的购物车模块,功能之四就是购物车列表的分页显示.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.查询数据 mysql: SELECT * FROM jd_pr ...

  9. 2016.8.19 将div设置为隐藏使用style=“display:none”

    style="display:none"表示隐藏. style="display:block"表示显示. 在代码中则使用$("#id").s ...

  10. mysql 升序 字段值为NULL 排在后面

    select * from yryz_products_t order by isnull(sort),sort;