/*
02.02.*烟台大学计算机学院学生
03.03.*All right reserved.
04.04.*文件名称*烟台大学计算机学院学生
05.05.*All right reserved.
06.06.*文件名称:例题熟悉(用指向基类对象的指针指向派生类对象)
07.07.*作者:王洪海
08.08.*完成日期:2013年5月20日
09.09.*版本号:v1.0
10.10.*对任务及求解方法的描述部分:例题熟悉(用指向基类对象的指针指向派生类对象)
11.11.*我的程序:
12.12.*/
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student (int ,string,float);
void display();
private:
int num;
string name;
float score;
};
Student::Student(int n,string nam,float s)
{
num=n;
name=nam;
score=s;
}
void Student::display()
{
cout<<endl<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"score:"<<score<<endl;
}
class Graduate:public Student
{
public:
Graduate(int,string,float,float);
void display();
private:
float wage;
};
Graduate::Graduate(int n,string nam,float s,float w):
Student(n,nam,s),wage(w){}
void Graduate::display()
{
Student::display();
cout<<"wage="<<wage<<endl;
}
int main ()
{
Student stud1(1001,"li",87.5);
Graduate grad1(2001,"wang",98.5,1000);
Student *pt=&stud1;
pt->display();
pt=&grad1;
pt->display();
return 0;
}
运行结果,如下图: