C++第4次实验(提高班)—继承和派生1
从项目2和项目3中选1题作为实验、剩下2题写成作业。
【项目1 - 龙三】
请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为:
Name: 龙三
Grade: 19
- #include <iostream>
- #include <string>
- using namespace std;
- class Person{
- public:
- Person(string s){
- name=s;
- }
- void display( ){
- cout<<"Name: "<<name<<endl;
- }
- private:
- string name;
- };
- class Student: ___________//(1)
- {
- public:
- Student(string s, int g):__________ // (2)參考教材P169加底纹部分
- {grade=g;}
- void display1( ) {
- _________; // (3)
- cout<<"Grade: "<<grade<<endl;
- }
- private:
- int grade;
- };
- int main( )
- {
- Student s("龙三",19);
- ___________; // (4)
- return 0;
- }
【项目2 - 学生类】
- class Stu //声明基类
- {
- public:
- Stu(int n, string nam ); //基类构造函数
- void display( ); //成员函数。输出基类数据成员
- protected: //(*)訪问权限为保护型的数据成员
- int num; //学生学号
- string name; //学生姓名
- };
- class StuDetail: public Stu //声明派生类StuDetail
- {
- public:
- //学生nam,学号n,a岁。家住ad,他的班长是nam1,学号n1
- StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数
- void show( ); //成员函数。输出学生的信息
- void show_monitor( ); //成员函数,输出班长信息
- private:
- Stu monitor; //学生所在班的班长,班长是学生,是Stu类的成员
- int age; //学生年龄
- string addr; //学生的住址
- };
- int main( )
- {
- //学生张三,10010号,19岁,家住江西南昌。他的班长是李四。学号10001
- StuDetail s(10010,"张三",19,"江西南昌",10001,"李四");
- s.show( ); //输出学生信息
- s.show_monitor(); //输出班长信息
- return 0;
- }
上面是声明好的类及測试函数,请完毕类中成员函数的定义。使执行结果如图所看到的。
【项目3 - 职员薪水】
定义一个名为CPerson的类,有下面私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、输出信息的函数。
并在此基础上派生出CEmployee类。派生类CEmployee添加了两个新的数据成员,分别用于表示部门和薪水。
要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数。并为派生类CEmployee定义输出信息的函数。
- class CPerson
- {
- protected:
- string m_szName;
- string m_szId;
- int m_nSex;//0:女,1:男
- int m_nAge;
- public:
- CPerson(string name,string id,int sex,int age);
- void Show1();
- };
- class CEmployee:public CPerson
- {
- private:
- string m_szDepartment;
- double m_Salary;
- public:
- CEmployee(string name,string id,int sex,int age,string department,double salary);
- void Show2();
- };
- int main()
- {
- string name,id,department;
- int sex,age;
- double salary;
- cout<<"请输入雇员的姓名,ID,性别(0:女,1:男),年龄,部门,薪水:\n";
- cin>>name>>id>>sex>>age>>department>>salary;
- CEmployee employee1(name,id,sex,age,department,salary);
- employee1.Show2();
- return 0;
- }
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
C++第4次实验(提高班)—继承和派生1的更多相关文章
- 今天,Java编程周末提高班(第一期)正式结束
Java编程周末提高班(第一期),走过了近两个月历程,一共同拥有68人次学生周末到老师家进行Java学习与交流.近距离的和一群年轻的学习接触,收获非常多,特别是对以后教学的改进.在学习的闲暇.大家自己 ...
- 夏令营提高班上午上机测试 Day 2 解题报告
那一天,日照一中夏令营数据结构提高班的同学们终于想起了,被Day2上午的三道题支配的恐惧…… 是的..这一天的题有点难想.. 本来打算前天写这篇随笔,然而前天在机房和同学打luogu月赛…… 昨天 ...
- 【C++ 实验六 继承与派生】
实验内容 1. 某计算机硬件系统,为了实现特定的功能,在某个子模块设计了 ABC 三款芯片用于 数字计算.各个芯片的计算功能如下: A 芯片:计算两位整数的加法(m+n).计算两位整数的减法(m-n) ...
- 老段带你学鸟哥Linux视频教程 包含基础班+提高班
老段带你学鸟哥Linux视频教程 包含基础班+提高班,附带pdf文档. 目录结构如下: 目录:/-老段带你学鸟哥Linux视频教程 [.9G] ┣━━老段带你学鸟哥-服务器篇 [1009.4M] ┃ ...
- c++学习--继承与派生
继承和派生 1 含有对象成员(子对象)的派生类的构造函数,定义派生类对象成员时,构造函数的执行顺序如下: 1 调用基类的构造函数,对基类数据成员初始化: 2 调用对象成员的构造函数,对对象成员的数据成 ...
- C++ 继承与派生
继承的意义? 使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程.它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事 ...
- C++学习笔记44:继承与派生
类的组合,类的继承 类的组合(汽车类,轮子类,此时可以把轮子类组合到汽车类:) 类的继承(交通工具类,汽车类,此时汽车类可以派生自交通工具类:) 组合:常用描述has a.. 继承:常用描述is a ...
- C++复习:继承与派生
1继承概念 面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.说了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础. 要 ...
- [C++]变量存储类别,指针和引用,类与对象,继承与派生的一些摘要
C++中共有四种存储类别标识符:auto/static/register/extern 1.auto 函数或分程序内定义的变量(包括形参)可以定义为auto(自动变量).如果不指定存储类别,则隐式定义 ...
- 类属性与对象实现,init方法的作用,绑定方法,绑定方法与普通函数的区别,继承,抽象与继承,派生与覆盖
今日内容: 1.类属性与对象属性 2.init方法的作用 3.绑定方法 4.绑定方法与普通函数的区别(非绑定方法) 5.继承 6.抽象与继承 7.派生与覆盖 1.类属性与对象属性 类中应该进存储所有对 ...
随机推荐
- 自定义及发布一个webservice服务
自定义及发布一个webservice服务 - 声明 某个业务服务为webservice服务 通过@webservice 注解来声明 - 发布webservice服务 ...
- Codeforces Round #449 Div. 2 A B C (暂时)
A. Scarborough Fair 题意 对给定的长度为\(n\)的字符串进行\(m\)次操作,每次将一段区间内的某一个字符替换成另一个字符. 思路 直接模拟 Code #include < ...
- TCP/IP和HTTP协议与Socket的区别联系
参考资料: http://www.cnblogs.com/goodcandle/archive/2005/12/10/socket.html http://www.2cto.com/net/20121 ...
- Day 20 Object_oriented_programing(摘)
面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.主要应用在一旦完成很少修改的地方,如linux ...
- 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 ...
- 暂停时间 以及dict 循环
暂停时间 #!/usr/bin/python # -*- coding: UTF-8 -*- import time myD = {1: 'a', 2: 'b'} for key, value in ...
- andriod 支付宝类似界面图片加文字
<?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="ht ...
- 【京东账户】——Mysql/PHP/Ajax爬坑之购物车列表分页
一.引言 做京东账户项目中的购物车模块,功能之四就是购物车列表的分页显示.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.查询数据 mysql: SELECT * FROM jd_pr ...
- 2016.8.19 将div设置为隐藏使用style=“display:none”
style="display:none"表示隐藏. style="display:block"表示显示. 在代码中则使用$("#id").s ...
- mysql 升序 字段值为NULL 排在后面
select * from yryz_products_t order by isnull(sort),sort;