C++ 引用性说明类不能实例化对象 抽象类不能实例化对象

[复制链接]
查看11 | 回复0 | 2010-4-2 19:27:50 | 显示全部楼层 |阅读模式
引用性说明类,我学C++好像没听过抽象类可以给你解释一下抽象类的概恋:抽象类:就是包含有未定义的虚函数的类,也就是说只在类中声明了一个抽象类,但没有具体定义,或者把虚函数定义为virtual void f()=0;这样的形式。注意函数后有一个=0。因此派生类必须实现这个函数,如果派生类没有实现这个函数,则这个派生类也是抽象的。抽象类为什么不能实例化对象:因为抽象类中包含有没有定义的函数,因此不能用抽象类来实例化对象。但可以声明抽象类的指针指向派生类。示例:class A{public: virtual void f()=0;};//声明一个抽象类class B:public A{public: void f(){cout<<"B"<<endl;};void main(){A ma; //错误,因为类A是抽象类,含有未实现的函数f()。因此不能创建对象B mb;A *p=&mb; //可以创建抽象类的指针指向派生类对象。}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行