繁体   English   中英

指向对象的指针的方法不正确

[英]method of a pointer pointing to an object is inaccesible

我的班级看起来像这样

class A{
private:
    int id;
public:
    A();
    int getId();
}

class B{
private:

public:
  B();
}

履行

//constructor
    B::B() : A(){
    }

B扩展了A类。

好的,在我的主cpp中,我有一个像这样的函数

bool checkID(B *obj){
    if(obj->getId() > 1){ return true; } else { return false; }

}

但是,obj-> getId() ,getId()表示无法访问。

为什么?

默认情况下,C ++使用私有继承。 使用B:public A从A公开继承。另外,您需要在声明中定义继承。

class B : public A {
 public:
  B();
}

B必须派生自A,才能使B的对象可以访问A的成员。

class B : public A { ... };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM