12.3.1 虚函数的作用
能否用同一个调用形式来调用派生类和基类的同名函数。在程序中,不是通过不同的对象名去调用不同派生层次中的同名函数,而是通过指针调用它们。
c++中的虚函数就是用来解决动态多态问题的。所谓虚函数,就是在基类声明函数是虚拟的,并不是实际存在的函数,然后在派生类中才正式定义此函数。
下面给出一个例子
#include <iostream>
#include <string>
using namespace std;
const double pi = 3.14;
class student
{
protected:
int num;
string name;
int score;
public:
student( int nn = 0, string nam = " ", int ss = 0 ):num(nn), name(nam), score(ss) {}
void display()
{
cout << "num: " << num << endl;
cout << "name: " << name << endl;
cout << "score: " << score << endl;
}
};
class Gradstudent:public student
{
protected:
int wage;
public:
Gradstudent( int nn = 0, string nam = " ", int ss = 0, int ww = 0 ):student( nn, nam, ss ), wage(ww) {}
void display()
{
cout << "num: "