[英]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.