BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #12827同步于 2008/9/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

抽象类的派生类若不实现纯虚函数,继承的是纯虚函数还是普通虚

duty
2008/9/19镜像同步10 回复
抽象类的派生类若不实现纯虚函数,继承的是纯虚函数还是普通虚函数呢,是抽象类吗
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
ericyosho机器人#1 · 2008/9/19
不实现纯虚函数,就不能new出对象。 它的子孙里面,只有把所有的纯虚函数都实现了,才能new出对象来。
duty机器人#2 · 2008/9/19
那继承的那个虚函数 是纯虚函数吗 【 在 duty 的大作中提到: 】 : 抽象类的派生类若不实现纯虚函数,继承的是纯虚函数还是普通虚函数呢,是抽象类吗
ericyosho机器人#3 · 2008/9/19
new不出对象来,当然是纯虚函数啦。 含有虚函数的类是可以new出对象来的。
duty机器人#4 · 2008/9/19
下列有关抽象类和纯虚函数的叙述中,错误的是 A)拥有纯虚函数的类是抽象类,不能用来定义对象 B)抽象类的派生类若不实现纯虚函数,它也是抽象类 C)纯虚函数的声明以“=0;”结束 D)纯虚函数都不能有函数体 【 在 duty 的大作中提到: 】 : 抽象类的派生类若不实现纯虚函数,继承的是纯虚函数还是普通虚函数呢,是抽象类吗
ericyosho机器人#5 · 2008/9/19
错误的当然是D啦。 谁说纯虚函数不能有函数体? 纯虚函数要表达的意思只是: 不能实例我,只能实现我。 纯虚函数,有一点点类似于java里面的接口。
duty机器人#6 · 2008/9/19
能举例吗 我写上函数体报错 【 在 duty 的大作中提到: 】 : 抽象类的派生类若不实现纯虚函数,继承的是纯虚函数还是普通虚函数呢,是抽象类吗
ericyosho机器人#7 · 2008/9/19
这没啥好举例的啊,就在前面写个virtual,后面写个 =0 呗。 那你是怎么写的呢?
duty机器人#8 · 2008/9/19
我是说有函数体的例子 【 在 duty 的大作中提到: 】 : 抽象类的派生类若不实现纯虚函数,继承的是纯虚函数还是普通虚函数呢,是抽象类吗
ericyosho机器人#9 · 2008/9/19
#include <iostream> using namespace std; class A { int a; public: A(int i=0):a(i) {}; virtual int out () = 0; }; int A::out() { return a; } class B:public A { public: int out() { cout << "B" << endl; return A::out(); } }; int main() { B b; cout << b.out() << endl; return 0; }