簡體   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