栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++类和对象的学习四——(下篇)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++类和对象的学习四——(下篇)

1.拷贝函数如果不涉及到资源管理,一般是在堆的资源,就不需要自己写。

2.操作符号重载:
1.使用对象:自定义类,通过函数的方式来自己给出新的操作符的意义

2.不能于原操作符相违背,加法的含义不能变为减法;

3.关键字是operator ,函数名是operator+ 操作符号,有几个操作数就几个形参,

前置加加和后置加加的区别就是参数是否带整形。需要注意的是在类里面定义oprator

参数天热自带一个this指针,所以如果有俩个操作数,函数形参里面就只写一个。

4.this 指针前面有 const修饰,完整的修饰是date const *this.

5.operator 函数的返回值于操作符号本身意义有关,运算结果是什么就返回什么,返回本神还是临时变量就看操作符号的具体意义

6.编译器会首先在全局检索这个操作符有没有重载,再去域里面找,同一个操作符重载,全局的形参比自定义类里面的形参多一个。

7.编译器的翻译:

bool operator>(const Date & x);//在类域里面定义前面还有一个 Date const * this参数

在函数中调用时 
Date x;
Date y;
x > y 会被翻译成:x.operator>(y);
而在全局定义需要这样定义
bool operator>(const Date &X,const Date & y)
x>y就会被翻译成operator>(x,y);

一般将操作符重载定义在类域里面这样就不会导致在类外无法访问成员的问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917474.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号