友元和运算符重载-2.pptVIP

  • 4
  • 0
  • 约5.7千字
  • 约 24页
  • 2017-01-02 发布于河南
  • 举报
友元和运算符重载-2 第八章 回顾 友元函数 友元类 运算符重载的概念和意义 运算符重载的限制 以成员函数的方式重载运算符的方法 以友元函数的方式重载运算符的方法 一元运算符重载 目标 二元运算符重载 赋值运算符重载 I/O运算符重载 类型转换运算符重载 二元运算符重载 成员函数的方式重载二元运算符 函数原型: 函数类型 operator 二元运算符(类型 参数); 带有一个参数 左操作数必须为该类的对象或对象的引用 二元运算符重载为带有两个参数的非成员函数 函数原型: 函数类型 operator 二元运算符(类型 参数1,类型 参数2); 参数之一必须是类的对象或对象的引用 赋值运算符的重载2-1 赋值运算符可直接用在自定义类的对象赋值 如果没有提供重载的赋值运算符函数来复制类的对象。编译器就会提供默认版本的operator=() 赋值运算符的默认版本会简单地进行逐个成员的复制过程,类似于默认的拷贝构造函数 运算符“=”重载时,要检查两个操作数是否为同一个对象 赋值运算符的重载2-2 如果对象中包含动态分配的空间,这种赋值方式就不合适了,如: CString s1(abc), s2(def); s1 = s2; 赋值的结果是:对象s1和s2的指针str都指向了同一块数据空间 对象中包含动态分配的空间,赋值运算符需要自己重载,函数实现的算法与拷贝构造函数类似。 赋值运算符的

文档评论(0)

1亿VIP精品文档

相关文档