#include <iostream>
#include <cstring> using namespace std; class Person
{
protected:
char Name[];
char Sex;
int Age;
public:
void Register(char *name, int age, char sex);
void ShowMe();
}; class Teacher:public Person
{
private:
char Dept[];
int Salary;
public:
Teacher(char *dept, int salary, char *name, char sex, int age);
void showme();
}; class Student:public Person
{
private:
char ID[];
char Class[];
public:
Student(char *name, int age, char sex, char *id, char *classid);
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;
} Teacher::Teacher(char *dept, int salary, char *name, char sex, int age)
{
strcpy(Dept,dept);
Salary=salary;
Person::Register(name,age,sex);
} void Teacher::showme()
{
Person::ShowMe();
cout<<"工作单位 "<<Dept<<endl;
cout<<"月薪 "<<Salary<<endl;
return;
} Student::Student(char *name, int age, char sex, char *id, char *classid)
{
Person::Register(name,age,sex);
strcpy(ID,id);
strcpy(Class,classid);
} void Student::showme()
{
cout<<"学号 "<<ID<<endl;
Person::ShowMe();
cout<<"班级 "<<Class<<endl;
return;
} int main()
{
char name1[],name2[],Dept[],ID[],Class[],Sex1,Sex2;
int Salary,Age1,Age2;
cin>>name1>>Age1>>Sex1>>Dept>>Salary;
cin>>name2>>Age2>>Sex2>>ID>>Class;
Teacher one(Dept,Salary,name1,Sex1,Age1);
Student two(name2,Age2,Sex2,ID,Class);
one.showme();
two.showme();
return ;
}

一个基类Person的多个派生类 代码参考的更多相关文章

  1. 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)

    [源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ...

  2. C++ 走向远洋——44(项目一、点—圆—圆柱类族的设计、派生类)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  3. 【转载】C++中的基类与派生类

    转自:http://www.cnblogs.com/sujz/articles/2044365.html 派生类的继承方式总结: 继承方式 说明 public 基类的public和protected的 ...

  4. C#中派生类调用基类构造函数用法分析

    这里的默认构造函数是指在没有编写构造函数的情况下系统默认的无参构造函数 1.当基类中没有自己编写构造函数时,派生类默认的调用基类的默认构造函数例如: ? 1 2 3 4 5 6 7 8 9 10 11 ...

  5. 转 关于C#中派生类调用基类构造函数的理解

    关于C#中派生类调用基类构造函数的理解 .c#class       本文中的默认构造函数是指在没有编写构造函数的情况下系统默认的无参构造函数 1.  当基类中没有自己编写构造函数时,派生类默认的调用 ...

  6. 基类,派生类,内存分配情况 .xml

    pre{ line-height:1; color:#1e1e1e; background-color:#d2d2d2; font-size:16px;}.sysFunc{color:#627cf6; ...

  7. C++中的基类与派生类

    派生类的继承方式总结: 继承方式 说明 public 基类的public和protected的成员被派生类继承后,保持原来的状态 private 基类的public和protected的成员被派生类继 ...

  8. C++:基类和派生类

    4.1 派生类的声明 继承实例如下: class Person{ //声明基类Person public: void print() { cout<<"name:"&l ...

  9. C++基类和派生类之间的转换

    本文讲解内容的前提是派生类继承基类的方式是公有继承,关键字public 以下程序为讲解用例. #include<iostream> using namespace std; class A ...

随机推荐

  1. [Linux] Hexo 搭建个人博客

    不做笔记出了bug就得重新再看一遍视频 视频来源: https://www.bilibili.com/video/BV1Yb411a7ty?t=75 安装 先安装 nodejs,npm, git 安装 ...

  2. P1635 跳跃

    传送门 观察到\(4x+3=2(2x+1)+1\)以及\(8x+7=2(2(2x+1)+1)+1\) 所以可以把\(xx->2x+12x+1\)当成一个基本变化 则\(xx->4x+3\) ...

  3. C - Ordering Pizza CodeForces - 867C 贪心 经典

    C - Ordering Pizza CodeForces - 867C C - Ordering Pizza 这个是最难的,一个贪心,很经典,但是我不会,早训结束看了题解才知道怎么贪心的. 这个是先 ...

  4. print函数的全面认识

    # 输出打印 数字 print(123) a = 100 print(a) # 输出打印 字符串 print('字符串123') print('''锄禾日当午 汗滴禾下土''') # 输出打印 列表 ...

  5. 前端福利,用 JS 就能实现抖音养号等诸多功能

    我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者. Spring Cloud 系列文章已经完 ...

  6. Bootstrap初识

    目录 概述 快速入门 响应式布局 CSS样式和JS插件 全局CSS样式 组件 插件 案例:黑马旅游网 概述 概念:一个前端开发的框架,Bootstrap是美国Twitter公司的设计师Mark Ott ...

  7. Fibonacci数列的性质

    Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, .... F[0] = 0; 1: gcd(Fn, Fm) = F[gcd(n, m)]; 当n - m = 1 或 2时满足, ...

  8. Python内置函数列表

    函数 用途 abs() 返回数字绝对值 all() 判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False any() 判断给定的可迭代参数 ...

  9. 散列表PTA判断

    1-1 在散列表中,所谓同义词就是具有相同散列地址的两个元素. (1分) T         F 作者 DS课程组 单位 浙江大学   1-2 采用平方探测冲突解决策略(h​i​​(k)=(H(k)+ ...

  10. js日期格式与时间戳相互转换

    本文转自:https://blog.csdn.net/Lc_style/article/details/80626748 1.将日期格式转化为时间戳: var date = new Date('201 ...