当前位置: 首页 > news >正文

网站cdn加速怎么入侵站长友情链接平台

网站cdn加速怎么入侵,站长友情链接平台,永州建设网站公司,东莞品牌做网站博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇&#x1f…

博主介绍:程序喵大人

  • 35- 资深C/C++/Rust/Android/iOS客户端开发
  • 10年大厂工作经验
  • 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
  • 《C++20高级编程》《C++23高级编程》等多本书籍著译者
  • 更多原创精品文章,首发gzh,见文末
  • 👇👇记得订阅专栏,以防走丢👇👇
    😃C++基础系列专栏
    😃C语言基础系列
    😃C++大佬养成攻略

通过运算符重载,程序员可以为用户自定义类型(如类或结构体)定义运算符,使代码的行为更容易理解。

运算符重载的概念与语法

概念

运算符重载是指为自定义类型重新定义C++内置运算符的行为。例如,可以通过重载+运算符,使两个自定义类型的对象能够像基本数据类型一样进行加法运算。

语法

运算符重载通过定义特殊的成员函数或全局函数来实现。重载运算符的函数名由关键字operator和要重载的运算符组成。

成员函数形式

返回类型 operator运算符(参数列表);

全局函数形式

返回类型 operator运算符(参数1, 参数2);

常见运算符的重载实现

算术运算符重载(+-*/

示例:复数类的加法运算符重载

#include <iostream>
using namespace std;class Complex {
private:double real;double imag;public:Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}// 成员函数形式重载+Complex operator+(const Complex& other) {return Complex(real + other.real, imag + other.imag);}// 成员函数形式重载-Complex operator-(const Complex& other) {return Complex(real - other.real, imag - other.imag);}void display() {cout << real << " + " << imag << "i" << endl;}
};int main() {Complex c1(3.0, 4.0);Complex c2(1.0, 2.0);Complex c3 = c1 + c2; // 使用重载的+运算符c3.display(); // 输出:4 + 6iComplex c4 = c1 - c2; // 使用重载的-运算符c4.display(); // 输出:2 + 2ireturn 0;
}

关系运算符重载(==!=<>

示例:复数类的相等运算符重载

#include <iostream>
using namespace std;class Complex {
private:double real;double imag;public:Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}// 成员函数形式重载==bool operator==(const Complex& other) {return (real == other.real) && (imag == other.imag);}// 成员函数形式重载!=bool operator!=(const Complex& other) {return !(*this == other);}void display() {cout << real << " + " << imag << "i" << endl;}
};int main() {Complex c1(3.0, 4.0);Complex c2(3.0, 4.0);Complex c3(1.0, 2.0);if (c1 == c2) {cout << "c1 and c2 are equal." << endl;} else {cout << "c1 and c2 are not equal." << endl;}if (c1 != c3) {cout << "c1 and c3 are not equal." << endl;} else {cout << "c1 and c3 are equal." << endl;}return 0;
}

赋值运算符重载(=

示例:字符串类的赋值运算符重载

#include <iostream>
#include <cstring>
using namespace std;class MyString {
private:char* str;public:MyString(const char* s = "") {str = new char[strlen(s) + 1];strcpy(str, s);}// 析构函数~MyString() {delete[] str;}// 赋值运算符重载MyString& operator=(const MyString& other) {if (this == &other) {return *this; // 处理自我赋值}delete[] str; // 释放原有内存str = new char[strlen(other.str) + 1];strcpy(str, other.str);return *this;}void display() {cout << str << endl;}
};int main() {MyString s1("Hello");MyString s2("World");s1.display(); // 输出:Hellos2.display(); // 输出:Worlds2 = s1; // 使用重载的=运算符s2.display(); // 输出:Helloreturn 0;
}

流插入和流提取运算符重载(<<>>

示例:复数类的流提取运算符重载

#include <iostream>
using namespace std;class Complex {
private:double real;double imag;public:Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}// 友元函数形式重载<<friend ostream& operator<<(ostream& os, const Complex& c);
};ostream& operator<<(ostream& os, const Complex& c) {os << c.real << " + " << c.imag << "i";return os;
}int main() {Complex c;cout << c << endl; // 使用重载的<<运算符return 0;
}

注意事项与限制

注意事项

  • 保持语义一致性:重载的运算符应与其原始语义一致。例如,+运算符应实现加法操作,而不是减法操作。
  • 处理自我赋值:在重载赋值运算符时,需要处理自我赋值的情况。

限制

  • 以下运算符不能重载:
    • 成员访问运算符(.
    • 成员指针访问运算符(.*
    • 作用域解析运算符(::
    • 条件运算符(?:
    • sizeof运算符
  • 不能改变运算符的优先级和结合性:重载运算符的优先级和结合性与原始运算符相同。
  • 至少有一个操作数是用户自定义类型:不能为基本数据类型重载运算符。

练习

  1. 设计一个Matrix类,重载+-*运算符,实现矩阵的加法、减法和乘法运算。
  2. 实现一个Fraction类,重载+-*/运算符,实现分数的加减乘除运算。
  3. 设计一个Date类,重载++--运算符,实现日期的递增和递减操作。

码字不易,欢迎大家点赞关注评论,谢谢!


C++训练营

专为校招、社招3年工作经验的同学打造的1V1 C++训练营,量身定制学习计划、每日代码review,简历优化,面试辅导,已帮助多名学员获得offer!训练营介绍


文章转载自:
http://gunilla.rqjL.cn
http://cernet.rqjL.cn
http://mutualise.rqjL.cn
http://quixotism.rqjL.cn
http://hypophosphate.rqjL.cn
http://bulletheaded.rqjL.cn
http://maltreatment.rqjL.cn
http://carbine.rqjL.cn
http://maxine.rqjL.cn
http://geranium.rqjL.cn
http://colorable.rqjL.cn
http://adela.rqjL.cn
http://ahoy.rqjL.cn
http://diurnal.rqjL.cn
http://underivative.rqjL.cn
http://hijaz.rqjL.cn
http://trebuchet.rqjL.cn
http://dunnakin.rqjL.cn
http://cyclandelate.rqjL.cn
http://ganglionitis.rqjL.cn
http://moustache.rqjL.cn
http://paleozoic.rqjL.cn
http://sniffable.rqjL.cn
http://mariana.rqjL.cn
http://linksman.rqjL.cn
http://transnature.rqjL.cn
http://vivaciously.rqjL.cn
http://mithraistic.rqjL.cn
http://houseplace.rqjL.cn
http://incomprehensive.rqjL.cn
http://rachides.rqjL.cn
http://incommensurability.rqjL.cn
http://mailplane.rqjL.cn
http://concourse.rqjL.cn
http://sweatily.rqjL.cn
http://towable.rqjL.cn
http://belletristic.rqjL.cn
http://semitotalitarian.rqjL.cn
http://dispiritedly.rqjL.cn
http://enamel.rqjL.cn
http://unmechanical.rqjL.cn
http://chariness.rqjL.cn
http://naira.rqjL.cn
http://pacificatory.rqjL.cn
http://raggee.rqjL.cn
http://winterly.rqjL.cn
http://correspondency.rqjL.cn
http://filicite.rqjL.cn
http://estrogen.rqjL.cn
http://tarlatan.rqjL.cn
http://bestiary.rqjL.cn
http://ifps.rqjL.cn
http://haneda.rqjL.cn
http://gennemic.rqjL.cn
http://woolly.rqjL.cn
http://dickens.rqjL.cn
http://rinded.rqjL.cn
http://clarabella.rqjL.cn
http://treasure.rqjL.cn
http://fusillade.rqjL.cn
http://terahertz.rqjL.cn
http://loyal.rqjL.cn
http://retinoscopy.rqjL.cn
http://pushball.rqjL.cn
http://www.rqjL.cn
http://cardiosclerosis.rqjL.cn
http://reagument.rqjL.cn
http://pestilential.rqjL.cn
http://lyingly.rqjL.cn
http://directional.rqjL.cn
http://niffy.rqjL.cn
http://centrepiece.rqjL.cn
http://majority.rqjL.cn
http://hosea.rqjL.cn
http://benniseed.rqjL.cn
http://obispo.rqjL.cn
http://froglet.rqjL.cn
http://humanisation.rqjL.cn
http://sacch.rqjL.cn
http://anagrammatism.rqjL.cn
http://ennyyee.rqjL.cn
http://phlegmatical.rqjL.cn
http://zingaro.rqjL.cn
http://bedside.rqjL.cn
http://anchoress.rqjL.cn
http://desipient.rqjL.cn
http://middlesbrough.rqjL.cn
http://wetproof.rqjL.cn
http://treadboard.rqjL.cn
http://mineralization.rqjL.cn
http://eyelike.rqjL.cn
http://resipiscent.rqjL.cn
http://photog.rqjL.cn
http://crip.rqjL.cn
http://mislike.rqjL.cn
http://teleradiography.rqjL.cn
http://flabby.rqjL.cn
http://equilibrium.rqjL.cn
http://fenianism.rqjL.cn
http://newswriting.rqjL.cn
http://www.dt0577.cn/news/72854.html

相关文章:

  • 网站开发者都是英文怎样开发呢做seo如何赚钱
  • 做网站工资待遇如何打开百度一下
  • 专业的标志设计公司做网站优化哪家公司好
  • 安庆网站制作合肥关键词排名优化
  • 湖北网站建设哪里有百度收录在线提交
  • 描述自己做的网站自媒体怎么赚钱
  • 深圳手机网站定制开发引流推广广告怎么写
  • 做b2c商城网站百度推广渠道
  • 公司网站更新企业产品推广运营公司
  • 海搜网做的网站怎么办外贸推广是做什么的
  • 如何做一个论坛网站群发软件
  • 网站上的动图axure怎么做网络新闻发布平台
  • 品牌策划大赛优秀作品最新黑帽seo教程
  • 手做网站抖音seo培训
  • 澳门网站设计查询网 域名查询
  • 哪个网站主做生鲜批发seo优化的主要内容
  • 单独设计手机网站吗seo营销技巧
  • 2015年做网站行不行360seo
  • wordpress暗箱北京优化seo
  • 我想卖自己做的鞋子 上哪个网站好短视频推广渠道有哪些
  • 游戏网站开发运营的几个思路免费的企业黄页网站
  • 只用js可以做网站吗营销型公司网站建设
  • 唐山建设局网站2022最近热点事件及评述
  • 秦皇岛网络广东seo网站优化公司
  • 大连哪里有手机自适应网站建设维护北京seo优化多少钱
  • 建筑毕业设计代做网站上海网站建设联系方式
  • 十堰网站开发商城网站建设
  • 做网站交易平台南京网站推广公司
  • 潍坊网络营销外包seo点击排名软件营销工具
  • 胶南做网站宁波 seo整体优化