从Student类和Teacher类多重派生Graduate类 代码参考
#include <iostream>
#include <cstring> using namespace std; class Person
{
private:
char Name[];
char Sex;
int Age;
public:
void Register(char *name, int age, char sex);
void ShowMe();
}; void Person::Register(char *name, int age, char sex)
{
strcpy(Name,name);
Age=age;
Sex=sex;
return;
} void Person::ShowMe()
{
cout<<"姓名 "<<Name<<endl;
if(Sex=='m') cout<<"性别 男"<<endl;
else cout<<"性别 女"<<endl;
cout<<"年龄 "<<Age<<endl;
return;
} class Teacher:public Person
{
private:
char Dept[];
int Salary;
public:
Teacher(char *name, int age, char sex, char *dept, int salary);
void Show();
}; Teacher::Teacher(char *name, int age, char sex, char *dept, int salary):Person()
{
Person::Register(name,age,sex);
strcpy(Dept,dept);
Salary=salary;
} void Teacher::Show()
{
cout<<"工作单位 "<<Dept<<endl;
cout<<"月薪 "<<Salary<<endl;
return;
} class Student:public Person
{
private:
char ID[];
char Class[];
public:
Student(char *name, int age, char sex, char *ID, char *Class);
void Show();
}; Student::Student(char *name, int age, char sex, char *ID, char *Class):Person()
{
Person::Register(name,age,sex);
strcpy(this->ID,ID);
strcpy(this->Class,Class);
} void Student::Show()
{
cout<<"班级 "<<Class<<endl;
cout<<"学号 "<<ID<<endl;
Person::ShowMe();
return;
} class Graduate:public Teacher,public Student
{
public:
Graduate(char *name, int age, char sex, char *dept, int salary, char *id, char *classid);
void showme();
}; Graduate::Graduate(char *name, int age, char sex, char *dept, int salary, char *id, char *classid):Teacher(name,age,sex,dept,salary),Student(name,age,sex,id,classid){} void Graduate::showme()
{
Student::Show();
Teacher::Show();
return;
} int main()
{
char name[],dept[],id[],classid[],sex;
int salary,age;
cin>>name>>age>>sex>>dept>>salary>>id>>classid;
Graduate one(name,age,sex,dept,salary,id,classid);
one.showme();
return ;
}
从Student类和Teacher类多重派生Graduate类 代码参考的更多相关文章
- C++的派生类构造函数是否要带上基类构造函数
//public:Student(int s_age):People(s_age) //C++的派生类构造函数后面是否带上基类构造函数,取决于基类构造函数是否需要传入参数,如果要参数,就一定带上:不需 ...
- 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)
[源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ...
- 如何用boost::serialization去序列化派生模板类(续)
在 如何用boost::serialization去序列化派生模板类这篇文章中,介绍了序列化派生类模板类, 在写測试用例时一直出现编译错误,调了非常久也没跳出来,今天偶然试了一下...竟然调了出来. ...
- 那么类 Man 可以从类 Human 派生,类 Boy 可以从类 Man 派生
若在逻辑上 B 是 A 的“一种”(a kind of ),则允许 B 继承 A 的功 能和属性. 例如男人(Man)是人(Human)的一种,男孩(Boy)是男人的一种. 那么类 Man 可以从类 ...
- C++第11周(春)项目3 - 点类派生直线类
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 [项目3 - 点类派生直线类]定义点类Poin ...
- Dialog和FormView如何派生通用类
派生通用类涉及到派生类的构造函数需要传递窗口ID和CWnd,所以要在派生类中事先定义好 在Dialog中构造函数是这样定义的 public: CDialogEx(); CDialogEx(UINT n ...
- python3 之 面向对象(类)、继承、派生和多态
类提供了一种 组合数据和功能 的方法.创建一个新类意味着:创建一个新 类型 的对象,从而允许创建一个该类型的新 实例. 每个类的实例可以拥有: 保存自己状态的属性. 一个类的实例也可以有改变自己状态 ...
- PyQt学习随笔:Model/View开发时从Model相关类派生自定义类需要注意的问题
在<PyQt学习随笔:重写setData方法截获Model/View中视图数据项编辑的注意事项>介绍的方法,从Model相关类派生自定义类,通过重写setData方法以获取View中数据的 ...
- Python全栈--9.1--面向对象进阶-super 类对象成员--类属性- 私有属性 查找源码类对象步骤 类特殊成员 isinstance issubclass 异常处理
上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象 ...
随机推荐
- P1191 矩形
------------恢复内容开始------------ 题意 给出一个\(n*n\)的矩阵,矩阵中,有些格子被染成白色,有些格子被染成黑色,现要求矩阵中白色矩形的数量 分割线 Ⅰ.暴力出奇迹!! ...
- JSP+Servlet+JDBC+C3P0实现的人力资源管理系统
项目简介 项目来源于:https://github.com/ruou/hr 本系统基于JSP+Servlet+C3P0+Mysql.涉及技术少,易于理解,适合JavaWeb初学者学习使用. 难度等级: ...
- 远程登陆与数据CP
1 SSH登陆原理 SSH,Secure Shell,是一套协议标准,可以用来实现两台机器之间的安全登陆以及安全的数据传送,其保证数据安全的原理是非对称加密. 传统的对称加密方式使用的是一套密 ...
- Qt之connect
Qt4之connect 基本用法 connect(ui->toolButton, SIGNAL(clicked()), this, SLOT(OnClickButton())); disconn ...
- Python-给数字/字符串前加0
zfill方法用来给字符串前面补0
- GAN的前身——VAE模型原理
GAN的前身——VAE模型 今天跟大家说一说VAE模型相关的原理,首先我们从判别模型和生成模型定义开始说起: 判别式模型:已知观察变量X和隐含变量z,它对p(z|X)进行建模,它根据输入的观察变量X得 ...
- vim(vi)的常用快捷键
Vim 简介 vim是什么?听说它是编辑器之神!神一样的存在,而我却经常用上下左右箭头来移动光标,实在是有点对不起它,所以想着稍微学学一点神的技能吧! 一. vim的三种模式 Nomal mode:默 ...
- Golang遍历删除数组
Golang 做数字切片 package main import "fmt" /*遍历删除数组示例*/ func main() { //定义一个数组 a1 := []int{1, ...
- sqli-labs之Page-2
第二十一关:base64编码的cooki注入 YOUR COOKIE : uname = YWRtaW4= and expires: Tue 10 Mar 2020 - 03:42:09 注:YWRt ...
- Anaconda3中的Jupyter notebook添加目录插件
学习python和人工智能的相关课程时安装了Anaconda3,想在Jupyter notebook中归纳整理笔记,为了方便日后查找想安装目录(Table of Contents, TOC)插件,查找 ...