这两个语句有什么区别?
ob.A::ar[0] = 200;
ob.ar[0] = 200;
其中
ob
是A
类的对象class A
{
public:
int *ar;
A()
{
ar = new int[100];
}
};
最佳答案
在这种情况下没有区别。
该表示法:obj.Class::member
只是为了解决继承带来的歧义:
class A {
public:
int a;
}
class B {
public:
int a;
}
class C : public A, B {
void func() {
// this objects holds 2 instance variables of name "a" inherited from A and B
this->A::a = 1;
this->B::a = 2;
}
}
关于c++ - 这两个语句有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12885901/