我是C++的新手,我被告知結構和類幾乎是一樣的。主要區別在於C++中的類默認是私有的,而結構是公共的。使用指向類成員和結構成員的指針之間的區別
我有兩個不同的代碼,我們使用指針來構造成員和類成員。
struct Simple { int a; };
int main() {
Simple so, *sp = &so;
sp->a;
so.a;
}
我們以上述方式使用指針指向struct成員。
爲什麼我們必須按照以下方式使用指向類成員的指針?
class X {
public:
int a;
void f(int b) {
cout << "The value of b is "<< b << endl;
}
};
int main() {
// declare pointer to data member
int X::*ptiptr = &X::a;
int X::*ptiptr1 = &X::a;
// create an object of class type X
X xobject,xobject1;
// initialize data member
xobject.*ptiptr = 10;
xobject->*ptiptr1 = 11;
}
爲什麼我們首先聲明一個指向類數據成員的指針?爲什麼我們不能像我們爲結構做的那樣做呢?
請幫我一下。謝謝。
除了成員和基類的默認訪問權限(public與'private')之間'類'和'結構'。 – juanchopanza
你正在比較蘋果和橘子,並抱怨他們不一樣。 –