C++教程:C++继承与对象指针

2020-01-06 12:31:52于丽
我们在第14章的最后学习了对象指针,并且在编写链表类的过程中已经能熟练地使用它了。现在有了继承之后,我们的心中有了疑问:父类指针能否指向子类对象?子类指针能否指向父类对象?如果那样使用指针,对象的功能是否会受到限制呢?

父类指针与子类对象

我们修改程序17.3.1,用程序的运行结果来解答我们的疑问:
//student.h和undergraduate.h同程序17.3.1
//main.cpp
#include <iostream>
#include "undergraduate.h"
using namespace std;
int main()
{
   Undergraduate s1;//新建一个本科生对象
   Undergraduate *s1p;//新建一个子类的对象指针
   student s2;
   student *s2p;//新建一个父类的对象指针
   s1p=&s2;//这行程序出错了
   s2p=&s1;