考虑到矩阵的不同的运算,使用运算符重载后会和数字计算一样,提高代码可读性。
注意以下几点:
1.除了‘=’运算符以外,其他的运算符重载最好设计成为友元函数。
2.把‘=’运算符重载为类成员变量,并且将返回值设计成为该类的引用。
3.一定要自定义一个拷贝构造函数,这样在重载运算符返回对象副本的时候,编译器会自动调用拷贝构造函数,否则会出现结果错误。
4.友元关系不会被派生类继承。
5.'::'、'?:'、'.*'、'.'等运算符是不能够被重载的。
本文探讨了在C++中如何正确地实现矩阵运算符的重载,包括友元函数的设计、赋值运算符的特殊处理及拷贝构造函数的重要性。文章强调了几个关键点:1)除赋值运算符外,其它运算符重载宜采用友元函数形式;2)赋值运算符应返回对象的引用;3)必须自定义拷贝构造函数;4)友元关系不传递给派生类;5)某些运算符不可重载。
考虑到矩阵的不同的运算,使用运算符重载后会和数字计算一样,提高代码可读性。
注意以下几点:
1.除了‘=’运算符以外,其他的运算符重载最好设计成为友元函数。
2.把‘=’运算符重载为类成员变量,并且将返回值设计成为该类的引用。
3.一定要自定义一个拷贝构造函数,这样在重载运算符返回对象副本的时候,编译器会自动调用拷贝构造函数,否则会出现结果错误。
4.友元关系不会被派生类继承。
5.'::'、'?:'、'.*'、'.'等运算符是不能够被重载的。
353

被折叠的 条评论
为什么被折叠?