mar*_*igo 6 c++ virtual-functions
我有以下课程:
class A {
protected:
A *inner;
public:
....
virtual void doSomething() = 0;
....
}
class B: public A {
...
void doSomething() {
if(inner != NULL)
inner->doSomething();
}
...
}
Run Code Online (Sandbox Code Playgroud)
当我使用时,inner->doSomething()我得到了分段错误.我怎么办才能打电话inner->doSomething()给B班?
提前致谢.
如果没有成员内部的显式初始化,它可能既不是NULL也不是指向无效的内存.你能告诉我们明确内在化的代码吗?
A的适当构造函数如下
protected:
A() : inner(NULL) {
...
}
Run Code Online (Sandbox Code Playgroud)