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

以下是此题的【c++源代码】
#include <iostream>
using namespace std;
class Student
{public:
  Student(int,char[],char,float);
  int get_num(){return num;}
  char * get_name(){return name;}
  char get_sex(){return sex;}
  void display()
   {cout<<"num:"<<num<<"\nname:"<<name<<"\nsex:"<<sex<<"\nscore:"<<score<<"\n\n";}
 private:
  int num;
  char name[20];
  char sex;
  float score;
};

Student::Student(int n,char nam[],char s,float so)
 {num=n;
  strcpy(name,nam);
  sex=s;
  score=so;
}

class Teacher
 {public:
  Teacher(){}
  Teacher(Student&);
   Teacher(int n,char nam[],char sex,float pay);
   void display();
  private:
   int num;
   char name[20];
   char sex;
   float pay;
 };
 
Teacher::Teacher(int n,char nam[],char s,float p)
{num=n;
 strcpy(name,nam);
 sex=s;
 pay=p;
}

Teacher::Teacher(Student& stud)
 {num=stud.get_num();
  strcpy(name,stud.get_name());
  sex=stud.get_sex();
  pay=1500;}

void Teacher::display()
{cout<<"num:"<<num<<"\nname:"<<name<<"\nsex:"<<sex<<"\npay:"<<pay<<"\n\n";}

 
int main()
{Teacher teacher1(10001,"Li",'f',1234.5),teacher2;
 Student student1(20010,"Wang",'m',89.5);
 cout<<"student1:"<<endl;
 student1.display();
 teacher2=Teacher(student1);
 cout<<"teacher2:"<<endl;
 teacher2.display();
 return 0;
}

来源:c++程序设计第三版谭浩强课后答案

本文链接:http://www.wb98.com/cjia/post/cjia_10.7.html


本站文章搜索:

<< 上一篇下一篇 >>

搜索

Tags列表

赞助商链接