我是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
你正在比较苹果和橘子,并抱怨他们不一样。 –