D.Teacher_Cadre
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 73 (71 users) Total Accepted: 73 (71 users) Special Judge: No
Description
利用面向对象设计方法解决问题。
    现有教师类Teacher的完整定义,其中name表示姓名(string型),age表示年龄(int型),title表示职称(string型)。 
    根据Teacher类和主函数的内容,设计派生类Teacher_Cadre类教师干部类,该类除了具有类Teacher的全部属性外,还具有post表示职务(string型),wages表示工资(int型)。
    输入2名教师干部信息进行比较,把工资高的人员信息输出(相同工资时2人信息全部输出)。
Input
有1组测试数据,共2行输入数据。
    每行输入一个教师干部人员的信息,数据之间以空格分隔。
Output
有1行或2行输出。
    每行输出的内容是工资高的人员的部分信息,包括姓名、职称、职务、工资。数据之间以空格分隔。
Sample Input
Li 30 Inst DC 4200
Zhang 25 Inst TE 3700
Sample Output
Li Inst DC 4200
Hint
class Teacher{
  protected:
    string name;
    int age;
    string title;
  public:
   Teacher(string n,int a,string t):name(n),age(a),title(t){}
   Teacher(){}
   string getN(){return name;}
   string getT(){return title;}
   int getA(){return age;}
   void set(string n,int a,string t){name=n;age=a;title=t;}
};

int main()
{
  Teacher_Cadre t1;
  int a,w;
  string n,t,p;
  cin>>n>>a>>t>>p>>w;
  t1.set(n,a,t,p,w);
  cin>>n>>a>>t>>p>>w;
  Teacher_Cadre t2(n,a,t,p,w);
  if(t1.getW()>t2.getW()){cout<<t1.getN()<<" "<<t1.getT()<<" "<<t1.getP()<<" "<<t1.getW()<<endl;}
  else if(t1.getW()<t2.getW()) {cout<<t2.getN()<<" "<<t2.getT()<<" "<<t2.getP()<<" "<<t2.getW()<<endl;}
  else {
     cout<<t1.getN()<<" "<<t1.getT()<<" "<<t1.getP()<<" "<<t1.getW()<<endl;
     cout<<t2.getN()<<" "<<t2.getT()<<" "<<t2.getP()<<" "<<t2.getW()<<endl;
  }
  return 0;
}

#include<iostream>
#include<stdio.h>
#include<cmath>
#include<iomanip>
#include<cstdio>
using namespace std;

class Teacher 
{
    friend class Teacher_Cadre;
protected:
    string name;
    int age;
    string title;
public:
    Teacher(string n, int a, string t) :name(n), age(a), title(t) {}
    Teacher() {}
    string getN() { return name; }
    string getT() { return title; }
    int getA() { return age; }
    void set(string n, int a, string t) { name = n; age = a; title = t; }
};

class Teacher_Cadre:public Teacher
{
public:
    string post;
    int wages;
    Teacher_Cadre(string n, int a, string t, string p, int w)
    {
        name = n, age = a, title = t, post = p, wages = w;
    }
    Teacher_Cadre() {}
    void set(string n, int a, string t, string p, int w)
    {
        name = n, age = a, title = t, post = p, wages = w;
    }
    int getW()
    {
        return wages;
    }
    string getP()
    {
        return post;
    }
};

int main()
{
    Teacher_Cadre t1;
    int a, w;
    string n, t, p;
    cin >> n >> a >> t >> p >> w;
    t1.set(n, a, t, p, w);
    cin >> n >> a >> t >> p >> w;
    Teacher_Cadre t2(n, a, t, p, w);
    if (t1.getW() > t2.getW()) { cout << t1.getN() << " " << t1.getT() << " " << t1.getP() << " " << t1.getW() << endl; }
    else if (t1.getW() < t2.getW()) { cout << t2.getN() << " " << t2.getT() << " " << t2.getP() << " " << t2.getW() << endl; }
    else {
        cout << t1.getN() << " " << t1.getT() << " " << t1.getP() << " " << t1.getW() << endl;
        cout << t2.getN() << " " << t2.getT() << " " << t2.getP() << " " << t2.getW() << endl;
    }
    return 0;
}

D.Teacher_Cadre相关推荐

  1. 分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求: (1)在两个基类中都包含姓名、年龄、性别、地址、电话等数

    分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类.要求: (1)在两个基类中都包含姓名.年龄.性别.地址.电话等数 ...

  2. Chapter11——分别声明Teacher(教师类)和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。

    基本上满足课本上条件,只是没有在类外定义成员函数,个人习惯而已. #include<iostream> #include<string> using namespace std ...

  3. 习题 11.9 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。

    C++程序设计(第三版) 谭浩强 习题11.9 个人设计 习题 11.9 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼 ...

  4. C++定义Teacher类和Cadre类作为基类,创建Teacher_Cadre类

    要求:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式有这两个基类派生出新的Teacher_Cadre(教师兼干部)类. (1)在两个基类包括姓名.年龄.性别.地址.电话等数据 ...

  5. 类的继承性 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。

    分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部). ① 在两个基类中都包含姓名.年龄.性别.地址.电话等数据成员. ...

  6. 第12周任务2(分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: ...

  7. 第十二周任务一(多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))

    [题目](教材P394习题9)分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: (1)在两个基类中都包含姓名 ...

  8. 习题10.3 分别定义Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_Cadre类。

    分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类.要求: ① 在两个基类中都包含姓名.年龄.性别等数据成员. ② ...

  9. 《第十二周任务二》分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:  继承和派生 ...

最新文章

  1. m文没有matlab标识,请教个MATLAB问题
  2. 父元素a标签的href默认行为以及子元素绑定的click事件的响应之间存在影响
  3. 结合JDK源码看设计模式——简单工厂、工厂方法、抽象工厂
  4. HDOJ 1875 HDU 1875 畅通工程再续 ACM 1875 IN HDU
  5. C++中对多态的理解
  6. c语言小游戏 贴吧,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
  7. 单实例数据库迁移到rac环境(四)下
  8. 远程管理 Mac OSX 设备
  9. Java中ArrayList,Vector,LinkedList,HashMap,HashTable,HashSet对比及总结
  10. DragSortListView可拖拽ListView的注意事项
  11. 用Linux给手机刷rec,【小白福利】手机端刷入第三方Rec,手把手教会你
  12. 商业计划书范文3000_大学生商业计划书范文
  13. YOLO v2详细解读
  14. 用python实现一个自动保存复制图片的功能
  15. 施工行业项目管理软件
  16. 计算机慢的解决方法,电脑很卡反应很慢该如何处理【解决方法】
  17. [除錯]引動過程的目標傳回例外狀況
  18. MongoDB使用用户登录访问
  19. 机器学习——Google 快速入门课程(综合版)
  20. 从中国CDC离职一年后的深刻感悟

热门文章

  1. Swin Transformer实战:使用 Swin Transformer实现图像分类。
  2. 2021.4.24项目进度报告
  3. Syzmlw 赵氏孤儿 电影
  4. 状态同步和帧同步 PVP与PVE
  5. clientX与offsetX、clientWidth与offsetWidth的区别
  6. Redis不是号称单线程效率也很高吗,为什么又采用多线程了?
  7. 用户画像系统设计调研
  8. js 实现上下滑动面板 touchstart touchstart touchend
  9. Sqlite 主键自动创建
  10. FTP上传网页显示不了图片