示例代码:
MyItemType a;
MyItemType b;
a.someNumber = 5;
b = a;
cout << a.someNumber << endl;
cout << b.someNumber << endl;
b.someNumber = 10;
cout << a.someNumber << endl;
cout << b.someNumber << endl;
输出结果:
5
5
5
10
如果a和b是引用类型,那么最后两行的结果应该是10和10,而不是5和10。我猜测这就是意思。
这是否意味着当你像这样声明时:
AClassType anInstance;
它被视为值类型吗?
------这是我的MyItemType.h文件------------
#ifndef MYITEMTYPE_H
#define MYITEMTYPE_H
class MyItemType{
public:
int someNumber;
MyItemType();
};
MyItemType::MyItemType(){
}
#endif /* MYITEMTYPE_H */
a
赋值给b
时,实际上是调用了默认的复制赋值运算符。 - Cory Nelsonoperator=
将执行成员逐一复制。 - chris