我是 C++ 新手。有人告诉我结构和类几乎相同。主要区别是 C++ 中的类默认情况下是私有的,而结构是公共的。
我有两个不同的代码,我们在其中使用指向结构成员和类成员的指针。
struct Simple { int a; };
int main() {
Simple so, *sp = &so;
sp->a;
so.a;
}
我们以上述方式使用指向结构成员的指针。
为什么我们必须按照以下方式使用指向类成员的指针?
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;
}
为什么我们首先声明一个指向类数据成员的指针?为什么我们不能像对结构所做的那样做呢?
请帮帮我。谢谢。