c++类和结构体怎么重载赋值运算符? c语言结构体整体赋值
更新时间:2021-11-15 02:47:27 • 作者:KELLEY •阅读 326
C++ 复制构造函数 和 重载的赋值运算符 什么情况下 使用复制构造函数?什么情况下 使用重载的赋
初始化的时候使用构造函数
赋值的时候使用赋值运算符
求助:关于结构体 重载赋值运算符
设一个Complex类型的临时变量temp.
1.清空自身的gComLinePowerArry
2.用叠代器遍历comLine
3.对comLine的每个元素,让temp等于它,然后将temp加进gComLinePowerArry
另外,这个重载函数的声明写的有点问题,应该是
lweiyue写的那样.
C++ 结构体和类的赋值
结构体当没有显示的构造函数的时候,可以直接使用{}赋值,例如:
但当结构体有显示的构造函数时,想要用{}赋值,就必须按照构造函数的参数形式来赋值。例如
例如这样就是错误的
结构体里的运算符重载问题
运算符重载的条件是,必须存在至少一个自定义的类型。
而指针实际上就是地址,即一个32位的整数值,它们的大小是直接进行数值的比较的
如果想比较2个指针所指的对象的大小,可以对它们取 * 操作,再调用 operator < 即可。
另外,楼主写的 operator < 重载,参数应设定为 const node &, 即
bool operator < (const node &a, const node &b)
{
...
}
按LZ的方式去写的话,每次调用 < 运算符时都会存在对象的拷贝。
再者,结构体里面的成员,在默认情况下均是 public 的权限,不需要将 bool operator < 设置为结构体的友员函数,可以直接通过对象访问成员变量。