C++习题 对象转换(定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩)编写程序,将一个Student对象(学生)转换为Teacher(教师)类。


Description

定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩),二者有一部分数据成员是相同的,num(号码),name(姓名),sex(性别)。编写程序,将一个Student对象(学生)转换为Teacher(教师)类,只将以上3个相同的数据成员移植过去。可以设想为: 一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师数据的一部分。

Input

一个教师的信息和一个学生的信息

Output

学生的信息和学生转换为教师后的信息

Sample Input

10001 Li f 1234.5
20010 Wang m 89.5

Sample Output

student1:
num:20010
name:Wang
sex:m
score:89.50
teacher2:
num:20010
name:Wang
sex:m
pay:1500.00

HINT

主函数已给定如下,提交时不需要包含,会自动添加到程序尾部



int main()

{

    cout<<setiosflags(ios::fixed);

    cout<<setprecision(2);

    int num;

    char name[20];

    char sex;

    float score;

    float pay;

    cin>>num>>name>>sex>>pay;

    Teacher teacher1(num,name,sex,pay);

    cin>>num>>name>>sex>>score;

    Student student1(num,name,sex,score);

    cout<<"student1:"<<endl;

    student1.display();

    Teacher teacher2=Teacher(student1);

    teacher2.setpay(1500);

    cout<<"teacher2:"<<endl;

    teacher2.display();

    return 0;

}

 1 #include<iostream> 
 2 #include<iomanip> 
 3 #include<cstring> 
 4 using namespace std; 
 5 class Teacher; 
 6 class Student 
 7 {public: 
 8     void display() 
 9     {cout<<"num:"<<num<<endl<<"name:"<<name<<endl<<"sex:"<<sex<<endl<<"score:"<<score<<endl;} 
10     Student(){}; 
11     Student(int m,char n[20],char x,float s) 
12     {num=m;strcpy(name,n);sex=x;score=s;} 
13     int num; 
14     char name[20]; 
15     char sex; 
16     float score; 
17 }; 
18   
19 class Teacher 
20 { 
21 public: 
22     void setpay(float a) 
23     {pay=a;} 
24     void display() 
25     {cout<<"num:"<<num<<endl<<"name:"<<name<<endl<<"sex:"<<sex<<endl<<"pay:"<<pay<<endl;} 
26     Teacher(){}; 
27     Teacher(int m,char n[20],char x,float p) 
28     {num=m;strcpy(name,n);sex=x;pay=p;} 
29     Teacher(Student & s) 
30     { 
31         num=s.num; 
32         strcpy(name,s.name); 
33         sex=s.sex; 
34     } 
35 private: 
36     int num; 
37     char name[20]; 
38     char sex; 
39     float pay; 
40 }; 
41 int main() 
42 { 
43     cout<<setiosflags(ios::fixed); 
44     cout<<setprecision(2); 
45     int num; 
46     char name[20]; 
47     char sex; 
48     float score; 
49     float pay; 
50     cin>>num>>name>>sex>>pay; 
51     Teacher teacher1(num,name,sex,pay); 
52     cin>>num>>name>>sex>>score; 
53     Student student1(num,name,sex,score); 
54     cout<<"student1:"<<endl; 
55     student1.display(); 
56     Teacher teacher2=Teacher(student1); 
57     teacher2.setpay(1500); 
58     cout<<"teacher2:"<<endl; 
59     teacher2.display(); 
60     return 0; 
61 } 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Stud 【C语言】利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将数据文件读入,且求出每个学生的平均成绩。 Student学生表(学号,姓名、性别、年龄、组织部门) 构建一个学生Student,根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。 用C# 设计一个 Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输出当前学生总人数,该学生的姓名、学生类型和平均成绩。 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。 1查询所有学生的学号、姓名、选课数、总成绩,3、查询出每门课程都大于80分的学生姓名4、删除除了id号不同,其他信息都相同的学生冗余信息 C++习题(定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数之和、差、积和商。) 按要求编写Java应用程序。 (1)创建一个叫做People的类: 属性:姓名、年龄、性别、身高 行为:说话、计算加法、改名 编写能为所有属性赋值的构造方法; (2)创建主类: 创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80; 让该对象调用成员方法: 说出“你好!” 计算23+45的值 将名字改为“李四” 按要求编写Java应用程序。 (1)创建一个叫做People的类: 属性:姓名、年龄、性别、身高 行为:说话、计算加法、改名 编写能为所有属性赋值的构造方法; (2)创建主类: 创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80; 让该对象调用成员方法: 说出“你好!” 计算23+45的值 将名字改为“李四”
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM