详解C++编程中的虚函数

2020-01-06 13:45:07丽君
  • {  cout<<"num:"<<num<<"nname:"<<name<<"nscore:"<<score<<"nn"; 
  • }  //声明公用派生类Graduate 
  • class Graduate:public Student  { 
  • public:  Graduate(int, string, float, float);//声明构造函数 
  • void display( );//声明输出函数  private:float pay; 
  • };  // Graduate类成员函数的实现 
  • void Graduate::display( )//定义输出函数  { 
  • cout<<"num:"<<num<<"nname:"<<name<<"nscore:"<<score<<"npay="<<pay<<endl;  } 
  • Graduate::Graduate(int n, string nam,float s,float p):Student(n,nam,s),pay(p){}  //主函数 
  • int main()  { 
  • Student stud1(1001,"Li",87.5);//定义Student类对象stud1  Graduate grad1(2001,"Wang",98.5,563.5);//定义Graduate类对象grad1 
  • Student *pt=&stud1;//定义指向基类对象的指针变量pt  pt->display( ); 
  • pt=&grad1;  pt->display( ); 
  • return 0;  } 

    运行结果如下:

     

     
    1. num:1001(stud1的数据)  name:Li 
    2. score:87.5   
    3. num:2001 (grad1中基类部分的数据)  name:wang 
    4. score:98.5