#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. FarmCraft

    题意:mhy住在一棵有n个点的树的1号结点上,每个结点上都有一个妹子.mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒软件,第i个妹子安装时间为ci.树上的每 ...

  2. 【Spark】DataFrame关于数据常用操作

    文章目录 DSL语法 概述 实例操作 SQL语法 概述 实例操作 DSL语法 概述 1.查看全表数据 -- DataFrame.show 2.查看部分字段数据(有4种方法)  (1) DataFram ...

  3. FAXCOM和FXSCOMEX 传真编程

    需要引用的dl,如下信息,早起使用的是FXSCOM.DLL,现在微软提供了相应的扩展,其程序集为,FXSCOMEX.dll FXSCOMEX.dll 提供跟加健全的方法,可以说所有关于传真的操作都在这 ...

  4. 模板引擎 Thymeleaf 动态渲染 HTML

    1.添加依赖 <!-- Thymeleaf 模板引擎 --> <dependency> <groupId>org.thymeleaf</groupId> ...

  5. springboot启动报错:Handler dispatch failed; nested exception is java.lang.AbstractMethodError

    最近在用springboot构建项目,控制台报错:Handler dispatch failed; nested exception is java.lang.AbstractMethodError, ...

  6. [hdu4358]树状数组

    思路:用一个数组记录最近k次的出现位置,然后在其附近更新答案.具体见代码: #pragma comment(linker, "/STACK:10240000,10240000") ...

  7. TC SRM498 Div1 1000PT(容斥原理+DP)

    [\(Description\)] 网格中每步可以走\((0,\cdots M_x,0\cdots M_y)\)中任意非零向量,有\(K\)种向量不能走,分别是\((r_1,r_1),(r_2,r_2 ...

  8. angular前端框架简单小案例

    一.angular表达式 <head> <meta charset="UTF-8"> <title>Title</title> &l ...

  9. 一站式Kafka平台解决方案——KafkaCenter

    KafkaCenter是什么 KafkaCenter是一个针对Kafka的一站式,解决方案.用于Kafka集群的维护与管理,生产者和消费者的监控,以及Kafka部分生态组件的使用. 对于Kafka的平 ...

  10. git的日常使用

    首次上传项目到github上 在项目上右击——>选择  Git Bash Here  直接进入到存放项目文件的地址 git init     在当前项目的目录中生成本地的git管理 git ad ...