【发布时间】:2009-09-30 15:14:36
【问题描述】:
我有以下课程:
class A {
protected:
A *inner;
public:
....
virtual void doSomething() = 0;
....
}
class B: public A {
...
void doSomething() {
if(inner != NULL)
inner->doSomething();
}
...
}
当我使用inner->doSomething() 时,我遇到了分段错误。
在 B 类中调用inner->doSomething() 应该怎么做?
提前致谢。
【问题讨论】:
-
如果你在使用inner时遇到segfault,可能是因为它没有指向一个有效的对象。如何在 B 中初始化 inner?
-
每个 A 都包含一个 A*?真的吗?为什么?
-
好的,他们正在看着对方。我只是想检查一下。
标签: c++ virtual-functions