0 c++ stl overloading class vector
我正在读一本C++书.该程序试图制作一个对象矢量.这是我不明白的部分
class X {
public:
X();
X(int m) {
temp = x;
}
int temp;
X &operator =(int z) {
temp = z;
return *this;
}
private :
// Some functions here
}
Run Code Online (Sandbox Code Playgroud)
上面的线是什么意思?这是某种超载吗?那怎么样?
我假设你有一个拼写错误,该行实际上是:
X &operator =(int z) {
Run Code Online (Sandbox Code Playgroud)
的&装置,该返回类型是参考; 你应该把它读作operator =一个返回类型的函数X &.
如果稍微改变间距,意思可能会更清楚:
X& operator= (int z)
Run Code Online (Sandbox Code Playgroud)
这是赋值运算符 的重载operator=,它接受一个int参数,并返回对 的引用class X。
您可以使用它为对象分配整数值:
X x;
x = 42; // calls the overloaded operator
Run Code Online (Sandbox Code Playgroud)
返回值允许您链接分配:
X x1,x2;
x1 = x2 = 42; // equivalent to `x2 = 42; x1 = x2;`
(x1 = x2) = 42; // equivalent to `x1 = x2; x1 = 42;`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6190 次 |
| 最近记录: |