C++中的运算符重载注意事项

1.C++中的运算符重载的方式有三种:

a.类成员函数重载

b.友元函数重载

c.普通函数重载

注意:

a.我们主要使用的方式主要是用:类成员函数和友元函数来实现运算符的重载.

b.其实用普通函数理论上也是可以实现运算符重载的,因为普通函数与友元函数相对于某个类来说,唯一的区别就是:访问权限,友元函数可以访问类的所有成员,包括私有成员,而普通函数只可以访问类的公有成员.

c.静态成员函数不能实现类的运算符重载.

时间: 2024-10-24 23:19:54

C++中的运算符重载注意事项的相关文章

第九周项目1-复数类中的运算符重载(续)

在复数类中的运算符重载基础上 (1)再定义一目运算符 -,-c相当于0-c. (2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 */ #include <iostream> using

第九周项目2-Time类中的运算符重载(续)

在Time类中的运算符重载基础上 (1)定义对时间对象的自增和自减一目运算符 (2)定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 */ #include <iostream> using n

第九周项目3-分数类中的运算符重载(续)

在分数类中的运算符重载基础上 (1)定义分数的一目运算+和-,分别代表分数取正和求反,将"按位取反运算符"~重载为分数的求倒数运算. (2)定义分数类中<<和>>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 *

第八周项目3-分数类中的运算符重载

实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简).比较(6种关系)的运算.可以在第4周分数类代码的基础上开始工作. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年04月29日 * 版本号:v1.0 */ #include <iostream> using namespace std; class CFraction { private:

第八周项目 二 【项目2-Time类中的运算符重载】

[项目2-Time类中的运算符重载] 实现Time类中的运算符重载. [cpp] view plaincopyprint? class CTime { private: unsigned short int hour;    // 时 unsigned short int minute;  // 分 unsigned short int second;  // 秒 public: CTime(int h=0,int m=0,int s=0); void setTime(int h,int m,i

设计CTime类,并且在CTime类中使用运算符重载

程序代码: #include <iostream> using namespace std; class CTime//时间类 { private: unsigned short int hour; //时 unsigned short int minute; //分 unsigned short int second; //秒 public: CTime(int h=0,int m=0,int s=0);//构造函数 void setTime(int h,int m,int s);//设置时

在Lua中进行运算符重载

在C++里面运算符是可以重载的,这一点也是C++比较方便的一个地方.在Lua中其实也是可以模拟出运算符的重载的. 在Lua中table中元素的运算都是和一个叫做元表有关的,在一个table型的变量上都有一个元表,在元表中存放着该变量的 元函数,在进行运算是,就是利用元表中的这些元函数进行的,比如对两个元素进行加法操作,实际上就是调用在元表中 的一个元函数__add()来实现的.所以通过对这种情况的了解,我们可以很方便的对table元素的元表进行重新的设定, 从而实现重载运算符的目的. 并且tab

第九周项目二-Time类中的运算符重载(续)

<span style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;">在Time类中的运算符重载基础上</span><br style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height:

4-2电子时钟中的运算符重载

4-2 电子时钟中的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以运算符重载的方法: 设计一个时间类Time,私有数据成员有hour(时).minute(分).second(秒): 公有成员函数有:setHour(int)设置数据成员hour的值,非法的输入默认为12:setMinue(int)设置数据成员minute的值,非法输入默认为0:setSecond(int)设置数据成员second的值,非法输入默认为0:se