加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C在子类中调用虚方法

发布时间:2020-12-16 05:22:01 所属栏目:百科 来源:网络整理
导读:我有以下课程: class A {protected: A *inner;public: .... virtual void doSomething() = 0; ....}class B: public A { ... void doSomething() { if(inner != NULL) inner-doSomething(); } ...} 当我使用inner- doSomething()时,我得到了一个分段错误.
我有以下课程:
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()?

提前致谢.

解决方法

如果没有成员内部的显式初始化,它可能既不是NULL也不是指向无效的内存.你能告诉我们明确内在化的代码吗?

A的适当构造函数如下

protected:
A() : inner(NULL) {
  ...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读