抽象类:学生是一个类(父类),研究生,本科生,中小学都是学生类的子类(少了中职类哈)
现实中:只要是学生就一定处于三个子类(研究生,本科生,中小学生),不会存在是学生,但不属于三种具体的子类
这就说明---父类没有自己的对象-----这种没有自己对象的父类被叫做抽象类
前面我们都是定义了父类的对象,那是因为没有使用纯虚函数
抽象类依赖纯虚函数实现
class student
{
public:
student(); //构造函数
student( int a , string b);//构造函数重载
virtual void study () = 0; //纯虚函数声明: virtual 虚函数, 同时要等于 0 ;其次纯虚函数只有声明,没有函数定义
}
//主函数
student aa; //由于student 此时是抽象类,不运行建立抽象类对象 ,此处会报错
student *p; //建立抽象类指针
postgraduate bb; //建立研究生子类 对象
p = &bb; //父类指针 指向 子类
p -> study(); //通过多态调用 研究生子类的study
1384

被折叠的 条评论
为什么被折叠?



