C++ 中的运算符重载与数组使用
1. 运算符重载与类型转换
1.1 构造函数重载与赋值问题
在 C++ 编程中,我们可以对构造函数进行重载。例如,以下代码展示了一个 Counter
类的构造函数重载:
class Counter
{
public:
Counter();
Counter(int val);
~Counter(){}
int GetItsVal()const { return itsVal; }
void SetItsVal(int x) {itsVal = x; }
private:
int itsVal;
};
Counter::Counter(): itsVal(0) {}
Counter::Counter(int val): itsVal(val) {}
这里,构造函数 Counter(int val)
允许我们使用一个整数来创建 Counter
对象。然而,如果我们尝试进行反向赋值,如下面的代码:
Counter theCtr(5);
int theShort = theCtr;
这会产生编译错误,因为编译器不知道如何将 Counter
对象转换为整数。
1.2 转换运算符
为了解决将 Counter
对象