⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例11.10.txt

📁 是关于谭浩强老师的C++程序设计课程的程序源代码以及课件
💻 TXT
字号:
例11.10 定义一个基类Student(学生),再定义Student类的公用派生类Graduate(研究生),用指向基类对象的指针输出数据。
本例主要是说明用指向基类对象的指针指向派生类对象,为了减少程序长度,在每个类中只设很少成员。学生类只设num(学号),name(名字)和score(成绩)3个数据成员,Graduate类只增加一个数据成员pay(工资)。程序如下:
#include <iostream>
#include <string>
using namespace std;
class Student//声明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                    //声明公用派生类Graduate
{public:
  Graduate(int, string ,float,float);             //声明构造函数
  void display( );                                 //声明输出函数
private:
  float pay;                                      //工资
};

Graduate::Graduate(int n, string nam,float s,float p):Student(n,nam,s),pay(p){ }
                                         //定义构造函数
void Graduate::display()                             //定义输出函数
{Student::display();                          //调用Student类的display函数
  cout<<″pay=″<<pay<<endl;
}

int main()
 {Student stud1(1001,″Li″,87.5);                 //定义Student类对象stud1
  Graduate grad1(2001,″Wang″,98.5,563.5);        //定义Graduate类对象grad1
  Student *pt=&stud1;//定义指向Student类对象的指针并指向stud1
  pt->display( );                 //调用stud1.display函数
  pt=&grad1;                     //指针指向grad1
  pt->display( );                 //调用grad1.display函数
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -