我只能看到一个方面,或者我的大脑太过于无法理解,或者我像往常那样过度思考......
class CVector {
public:
int x,y;
CVector () {}; //*****This line*****
CVector (int a,int b) : x(a), y(b) {}
CVector operator + (const CVector&);
};
我不能为我的生活理解"CVector () {};"
在此运算符重载/类中正在做什么。我了解"CVector (int a,int b) : x(a), y(b) {}"
创建了一个期望为2个整数的对象,并将这些整数分配给x
和y
。我也理解"CVector operator + (const CVector&);"
是过载中涉及的函数的原型。
但问题在于什么?它只是制作一个空白的默认空白对象吗?
答案 0 :(得分:1)
CVector(){};是默认的构造函数,用于从CVector类创建对象(不传递任何参数,如在其他构造函数中)。它与运算符重载无关。