指向对象的指针的方法是不可访问的

时间:2014-11-15 08:27:58

标签: c++

我的班级看起来像这样

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()表示无法访问。

为什么?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

B必须从A派生才能从B对象访问A的成员。

class B : public A { ... };