C++第四次实验——派生和继承1

一、问题及代码:

/*
* 文件名称:c++第四次实验——派生和继承1.cpp
* 作    者:郭宇辉
* 完成日期:2016年 4 月 25 日 ——草稿
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:根据一声明好的类及测试函数完成成员函数。
* 输入描述:无
* 问题描述:
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/ 

#include<iostream>
#include<string>
using namespace std;
class Stu   //声明基类
{
public:
    Stu(int n, string nam )
	{
		num=n; name=nam;
	}//基类构造函数
    void display()
	{
		cout<<"学生: "<<name<<endl;
		cout<<"学号: "<<num<<endl;
	}//成员函数,输出基类数据成员
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):Stu(n,nam),monitor(n1,nam1)
	{
		age=a; addr=ad;
	}//派生类构造函数
    void show()
	{
		cout<<"学生信息: "<<endl;
		display();
		cout<<"年龄: "<<age<<endl;
		cout<<"住址: "<<addr<<endl;
		cout<<endl;
	}//成员函数,输出学生的信息
    void show_monitor()
	{
		cout<<"班长信息: "<<endl;
		monitor.display();
	}//成员函数,输出班长信息
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;
} 

二、运行结果:

三、心得与体会:

要多看课本,做题时依旧离不开课本。

四、知识点总结:

所有继承对私有成员无效;

派生类构造函数:父类构造函数;

子对象初始化要在
参数列表 中实现;

公有继承不能改变父类成员访问权限;

时间: 2024-10-26 02:22:09

C++第四次实验——派生和继承1的相关文章

c++第四次实验-继承与派生

一.问题及代码 /* * 文件名称:学生成绩 * 作 者:刘晓龙 * 完成日期:2016年5月6日 * 版 本 号: * 对任务及求解方法的描述部分:继承与派生 * 输入描述:输入学生信息和班长信息 * 问题描述:打印学生信息和班长信息 * 程序输出:输出学生的信息和班长的信息 * 问题分析:运用继承和派生 * 算法设计:无 */ #include <iostream> #include <string> using namespace std; class Stu //声明基类

C++之易混淆知识点四---虚函数与虚继承

C++面向对象中,虚函数与虚继承是两个完全不同的概念. 一.虚函数 C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表.派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容不一定相同,后半部分则对应着自己新定义的虚拟函数. class Employee { protected: char *Name; int Age; public: void changeAge(int

c++第四次实验

一.问题及代码 /* * 文件名称:1.cpp * 作 者:薛赫鹏 * 完成日期:2016 年 5月 6日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:继承与派生 * 输入描述: 略 * 问题描述: 学习使用派生函数 * 程序输出: 略 * 问题分析: 略 * 算法设计: 略 */ #include <iostream> #include <string> using namespace std; class CPerson { protected: string m

第六次学习总结&amp;&amp;第四次实验总结

Java实验报告 班级 1班 学号 20188390 姓名 宋志豪 实验四 类的继承 1.实验目的 (1)掌握类的继承方法: (2)变量的继承和覆盖,方法的继承.重载和覆盖实现: 2.实验内容 实验代码 package 继承; import java.io.InputStream; import java.util.Scanner; class Circle{ private double radius; public Circle() { this.radius=0; } public Cir

数据结构与算法 第四次实验报告 图

数据结构与算法 第四次实验报告 姓名:许恺 学号:2014011329 班级:计算机14-1     中国石油大学(北京)计算机科学与技术系 1.图的定义,文件为"Graph.h" #ifndef GRAPH_H//定义头文件 #define GRAPH_H #include<string>//引入标准库中的头文件 using namespace std; const int MaxSize=12; struct ArcNode//定义边表结点 { int adjvex;/

20135239益西拉姆第四次实验报告

北京电子科技学院(BESTI) 实验报告 课程:JAVA第四次实验报告 班 级: 1352 姓 名:益西拉姆 学 号:20135239 成 绩: / 指导教师: 娄嘉鹏 实验日期: 2015.06.09 实验密级: / 预习程度: / 实验时间:15:00--18:00 仪器组次:39 必须/选修: 选修 实验序号:04 实验名称: 第四次实验 实验仪器: 名称 型号 数量 PC机 DELL 1 实验内容: 1:编写网络通信程序.(基于TCP) 2:对通信内容使用对称加密算法进行加密. 3:使用

es6从零学习(四):Class的继承

es6从零学习(四):Class的继承 一:继承的方式 1.Class 可以通过extends关键字实现继承 class Point { } class ColorPoint extends Point { constructor(x, y, color) { super(x, y); // 调用父类的constructor(x, y) this.color = color; } toString() { return this.color + ' ' + super.toString(); /

20165104-Java第四次实验

20165104-Java第四次实验 任务一 实验内容 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Studio 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分 学习Android Stuidio调试应用程序 实验步骤 下载Android Studio并按教程安装 下好.

南京邮电大学java第四次实验报告

实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 6 月 7 日 指导单位 计算机学院软件教学中心 指导教师 许棣华 学生姓名 王利国 班级学号 B160209 学院(系) 电子与光学工程学院,微电子学院 专    业 微电子科学与工程 实验名称 方法.数组和类 指导教师 许棣华 实验类型 上机 实验学时 2 实验时间 2017.6.7 一.    实验