news 2026/6/10 19:16:32

2.运算符重载的限制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2.运算符重载的限制

2.运算符重载的限制

1.重载后的运算符的两个操作数中,至少有一个是用户自定义的类型;

2.使用运算符时不能违反运算符原来的句法规则。例如,不能将求模运算符(%)重载成使用一个操作数;不能修改运算符的优先级。

3.不能创建新运算符,只能对存在的运算符进行重载。

5.大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。=:赋值运算符。():函数调用运算符。[]:下标运算符。->:通过指针访问类成员的运算符。

大多数运算符都可以通过成员或非成员函数进行重载

// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // ​ #include <iostream> ​ class NUM { public: int num; //private: // int num; public: NUM(); NUM(int m); void show() const; ​ NUM operator+(const NUM& n) const;//通过成员函数重载加法运算符 }; ​ NUM::NUM() { num = 0; } ​ NUM::NUM(int m) { num = m; } ​ void NUM::show() const { std::cout << "num = " << num << std::endl; } ​ //通过成员函数重载加法运算符 NUM NUM::operator+(const NUM& n) const { NUM temp; temp.num = num + n.num; return temp; } ​ //通过非成员函数重载减法运算符 NUM operator-(const NUM &m, const NUM &n) { NUM temp; temp.num = m.num - n.num; return temp; } ​ int main() { std::cout << "Hello World!\n"; NUM t1(1); t1.show(); NUM t2(2); t2.show(); NUM t3; t3 = t1 + t2; t3.show(); t3 = t1 - t2; t3.show(); } ​ // 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单 // 调试程序: F5 或调试 >“开始调试”菜单 ​ // 入门使用技巧: // 1. 使用解决方案资源管理器窗口添加/管理文件 // 2. 使用团队资源管理器窗口连接到源代码管理 // 3. 使用输出窗口查看生成输出和其他消息 // 4. 使用错误列表窗口查看错误 // 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目 // 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件 ​

只能通过成员函数进行重载

#include <iostream> ​ using namespace std; ​ class Num { private: int n; public: Num(); Num(int m); void operator=(int l); }; ​ Num::Num() { n = 0; cout << "Hello world" << endl; } ​ Num::Num(int m) { n = m; cout << "Good morning" << endl; } ​ void Num::operator=(int l) { n = l; cout << "I love you, Rick" << endl; } ​ int main(void) { Num a; ​ a = 10; // a(10) ​ return 0; } ​
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 17:27:49

33、Linux系统文件与目录安全防护及加密签名全攻略

Linux系统文件与目录安全防护及加密签名全攻略 在Linux系统中,保障文件和目录的安全至关重要。这不仅涉及到对重要系统文件的保护,还包括对文件所有权和权限的合理设置,同时加密和签名文件也是确保信息安全的重要手段。下面我们将详细介绍这些方面的内容。 1. 保护文件和目…

作者头像 李华
网站建设 2026/6/10 17:43:57

视频修复终极指南:使用Untrunc高效拯救损坏文件

视频修复终极指南&#xff1a;使用Untrunc高效拯救损坏文件 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc Untrunc是一款基于智能算法的高效视频修复工具&#xff…

作者头像 李华
网站建设 2026/6/10 10:53:19

34、Linux系统安全防护指南

Linux系统安全防护指南 1. 文件对称加密 如果你只想对文件进行加密,且无需他人解密,可使用GPG进行对称加密。操作步骤如下: - 使用以下GPG命令加密文件: gpg -o secret.gpg -c somefile执行该命令后,GPG会提示你输入密码,并要求你重复输入以确保无误。随后,GPG会使…

作者头像 李华
网站建设 2026/6/10 7:20:19

如何解决CosyVoice2流式语音合成中的音色混合问题

如何解决CosyVoice2流式语音合成中的音色混合问题 【免费下载链接】CosyVoice Multi-lingual large voice generation model, providing inference, training and deployment full-stack ability. 项目地址: https://gitcode.com/gh_mirrors/cos/CosyVoice 在FunAudioLL…

作者头像 李华
网站建设 2026/6/10 17:41:19

Q#调用Python数据传输出错?3个关键适配技巧让你少走三年弯路

第一章&#xff1a;Q#调用Python数据传输出错&#xff1f;问题根源全解析在量子计算开发中&#xff0c;Q# 与 Python 的协同工作模式被广泛采用&#xff0c;其中 Q# 负责核心量子逻辑&#xff0c;Python 则用于经典控制流和结果可视化。然而&#xff0c;在实际调用过程中&#…

作者头像 李华