请问C语言中C类的赋值运算符有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1284个文字,预计阅读时间需要6分钟。
重写伪原创开头内容如下:
探讨哪些类型的数据需要重新赋值运算符。首先,让我们审视一个常见的直接赋值案例。
什么类需要重载赋值运算符
先来看一个普通类的直接赋值。
#include <iostream> using namespace std; class person{ int age; public: person(const int& a=10):age(a){} //构造函数 ~person(); //析构函数 void showAdd(); //打印age的地址 }; person::~person(){cout<<"析构\n";} void person::showAdd() {cout <<hex<< &age<<endl;} int main() { person a(11); person b; b = a; a.showAdd(); b.showAdd(); return 0; } /* 结果是: 0x7fffffffdc5c 0x7fffffffdc60 析构 析构 */
这是这个程序的内存情况,一切都运行的很正常,不需要运算符重载。
本文共计1284个文字,预计阅读时间需要6分钟。
重写伪原创开头内容如下:
探讨哪些类型的数据需要重新赋值运算符。首先,让我们审视一个常见的直接赋值案例。
什么类需要重载赋值运算符
先来看一个普通类的直接赋值。
#include <iostream> using namespace std; class person{ int age; public: person(const int& a=10):age(a){} //构造函数 ~person(); //析构函数 void showAdd(); //打印age的地址 }; person::~person(){cout<<"析构\n";} void person::showAdd() {cout <<hex<< &age<<endl;} int main() { person a(11); person b; b = a; a.showAdd(); b.showAdd(); return 0; } /* 结果是: 0x7fffffffdc5c 0x7fffffffdc60 析构 析构 */
这是这个程序的内存情况,一切都运行的很正常,不需要运算符重载。

