读书人

抽象类可以做函数参数 可是位啥不能

发布时间: 2012-02-28 13:06:34 作者: rapoo

抽象类可以做函数参数 ,可是位啥不能作为返回值
如题

[解决办法]
应该是抽象类的指针或引用吧?
[解决办法]
可以啊。

class A;
class B:public A;


A* foo();
A& foo();
而A foo();应该不可以

反正原理就是:不可以建立抽象类的对象

做为函数参数也应该有这个限制,如返回值。不可用void foo(A oA);
[解决办法]
C++抽象机制本来就是建立在指针和引用上的,抽象基类一般不能生成具体的对象,而是用基类的指针来指向具体的子类,从而获得多态
[解决办法]
抽象类 不可以生成对象 所以只能返回指针了

读书人网 >C++

热点推荐