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

在家做网站或ps挣钱接活迪哥哪个网站上做游戏直播

在家做网站或ps挣钱接活,迪哥哪个网站上做游戏直播,如何将自己做的网站放到网上去,广东东莞十大特产本文主要讲解运算符重载#xff0c;由于白鳯大佬没有具体讲解#xff0c;所以本文自行补充了运算符重载的相关知识 目录 文章目录 前言 运算符重载 加号运算符重载 左移运算符重载 递增运算符重载 总结 前言 本文主要对于运算符重载进行探讨#xff0c;分别对于成员函数重… 本文主要讲解运算符重载由于白鳯大佬没有具体讲解所以本文自行补充了运算符重载的相关知识 目录 文章目录 前言 运算符重载 加号运算符重载 左移运算符重载 递增运算符重载  总结 前言 本文主要对于运算符重载进行探讨分别对于成员函数重载和全局函数重载友元函数重载进行讨论。 运算符重载 运算符重载是C中的一项强大功能它允许您为自定义的类或结构体定义特定的行为以响应与内置类型相似的操作符。通过重载运算符您可以实现自定义类型之间的数学运算、比较、位操作等。 运算符重载使用operator关键字后跟要重载的运算符来实现。例如表示加法运算符-表示减法运算符等。 运算符重载一般分为成员函数重载和全局函数重载 以下是一些常见的需要进行运算符重载的情况 算术运算符例如 , -, *, /, %比较运算符例如 , !, , , , 赋值运算符例如 , , -, *, /位操作运算符例如 , |, ^下标操作符[]函数调用操作符() 对于每个需要进行重载的运算符您可以根据需求定义适当的成员函数或非成员函数。成员函数形式在对象本身上调用该操作而非成员函数形式将两个对象作为参数传递。 请注意在进行运算符重载时请遵循一些最佳实践和规则 不要改变原始对象的状态如果不是必要的。避免创建歧义或混乱的重载操作。考虑使用友元函数来实现某些运算符重载以便访问私有成员。 运算符重载是C语言中的一项强大功能可以提高代码的可读性和表达能力。 加号运算符重载 加号运算符可以在C中进行重载使其适用于自定义类型的对象。要重载加号运算符您可以使用成员函数或非成员函数的形式。 成员函数形式本质为 p3 p1.operator(p2) class MyClass { public:MyClass operator(MyClass other) {// 在这里实现加法操作并返回结果} };#include iostreamclass 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) const {return Complex(real other.real, imag other.imag);}void display() const {std::cout ( real imag i) std::endl;} };int main() {Complex c1(2.5, 3.7);Complex c2(1.8, -2.9);Complex sum c1 c2; // 使用重载的加号运算符sum.display(); // 输出(4.3 0.8i)return 0; }全局函数形式友元函数访问私有成员本质为 p3 operator(p1,p2) class MyClass { public:};MyClass operator(const MyClass obj1, const MyClass obj2) {// 在这里实现加法操作并返回结果} #include iostreamclass Complex { private:double real;double imag;public:Complex(double r 0.0, double i 0.0) : real(r), imag(i) {}// 声明友元函数以便访问私有成员friend Complex operator(const Complex c1, const Complex c2);void display() const {std::cout ( real imag i) std::endl;} };Complex operator(const Complex c1, const Complex c2) {return Complex(c1.real c2.real, c1.imag c2.imag); }int main() {Complex c1(2.5, 3.7);Complex c2(1.8, -2.9);Complex sum c1 c2; // 使用重载的加号运算符sum.display(); // 输出(4.3 0.8i)return 0; }俩个代码实现内容一样主要一个是成员函数一个全局函数全局函数需要成为友元函数来访问类的私有数据成员。  同时运算符重载也可以发生函数重载  左移运算符重载 如果我们有一个person类建立一个对象p,当我们想直接使用coutpendl;来输出对象p中的内容似乎并不能直接实现C并不认识这个类也不知道如何输出。 这里我们就可以使用左移运算符重载了与上面的加号运算符一样左移运算符同样是以operato形式实现的这里我们仍然可以分为成员函数重载和全局函数重载来分别实现一下。 当我们按照成员函数来写时就会发现一个问题首先你不能给自己传入p即p.operator(p),然后我们再使用p.operator(cout),而这样简化的版本就是pcout,与我们想要的coutp相反了所以我们不使用成员函数来实现左移运算符而使用全局函数。 void operator(cout) { //简化完事 p cout } 如果用全局函数首先要知道的事cout是输出流对象即ostream对象 使用operator(ostream cout,person p)进行函数重载简化完事coutp 至于为什么不用void空值而是ostream 是因为当你主函数使用函数重载输出后如果返回的事空值就不能继续追加输出例如endl;补上换行因为cout后面一直能连续使用是链式编程需要返回的还是cout即返回ostream输出流。 class preson { private: string p_name; int p_age; public: friend ostream operator(ostream cout,person p); } ostream operator(ostream cout,person p) {coutp_namep.p_namep_agep._ageendl; } 递增运算符重载  递增运算符重载即要对进行运算符重载 跟C中的a,a一样递增运算符重载也要分为前置递增和后置递增的重载 解决下述代码中几个重点问题 1、函数重载的返回类型就是自己建立的Integer类型是因为如果有个对象num,当你想要实现对num或者num直接输出类似于a1;coutaendl;的操作时你需要返回Integer类型否则返回空值是没有输出的 2、为什么前置递增返回值类型引用了而后置递增返回值类型没有引用。 后置传递如果使用引用那么值就错了要返回递增前的值 这个主要是了解运算符实现的本质 a1; cout(a)endl;  这个是对的说明前置运算符计算本质是引用对一个数修改 cout(a)endl;  这个是错的说明后置运算符计算本质是值传递无法二次修改 3、下述代码偷懒了应该演示一下numnum的输出而不是使用成员函数getValue来实现其实只要将左移运算符重载一下就可以了按照已讲过的方法实现即可  #include iostream using namespace std;class Integer { private:int value; public:Integer(int val) : value(val) {}// 前置递增运算符重载Integer operator() {value;return *this;}// 后置递增运算符重载Integer operator(int) {Integer temp(value);value;return temp;}int getValue() const {return value;} };int main() {Integer num1(5);cout 初始值: num1.getValue() endl;// 前置递增num1;cout 前置递增后的值: num1.getValue() endl;// 后置递增Integer num2 num1;cout 后置递增后的值: num2.getValue() endl;cout num1当前的值: num1.getValue() endl;return 0; }总结 本文主要对运算符重载进行了探讨主要讲述了运算符重载分为成员函数重载和全局函数重载友元函数重载这样的操作并举例加号左移以及递增运算符的重载方法和一些注意事项。 通过上述的讲解可以实现更多的运算法重载的方法当然还有很多运算符重载值得我们探讨本文讲述的内容也比较有限。 推荐学习博客 https://xxetb.xetslk.com/s/4GgGz6
http://www.hkea.cn/news/14464180/

相关文章:

  • 我要用新浪云做网站网站建设业务员转换大
  • 滨海住房和城乡建设局网站安徽省建设
  • 英文网站建设公司微信支付 网站备案
  • 怎样设计一个网站南昌网站建设公司哪家好
  • 制作网页网站费用属于资本性支出吗屏边县住房和城乡建设局网站
  • 网站再就业技能培训班中国小康建设官方网站
  • 电子商务网站建设平台深圳网站设计哪家快
  • 池州网站建设制作报价方案国际物流网站模板
  • wordpress设置2个网站网站续费合同
  • 网站忘了怎么办网站免费加速器
  • 如何设计大气的网站企业型网站
  • 长春网站建设方案优化网站平台由什么搭建
  • 农产品网站设计企业展示网站建设
  • 深圳网站建设q479185700強asp.net企业网站源码
  • 杭州滨江网站制作seo百度快照优化公司
  • 如果做一个网站石狮市建设局网站
  • 怎么看出网站有没有做404页面商城网站建设最新报价
  • 企业门户网站开发平台的设计廊坊seo关键词优化
  • 南京建设企业网站去视频网站做编辑
  • 商家入驻型网站建设深圳网站设计与制作公司
  • 湖州网站建设湖州怎么宣传自己的产品
  • 网站底部悬浮代码注册入口
  • 网站搭建网站南山网络科技有限公司
  • 东莞网站优化排名丝绸之路网站建设意义
  • 网站开发与设计课程时间国外企业招聘网站
  • 外贸生意做哪个网站好手机网站客户端
  • 平安车险官方保险网站网站自动识别手机
  • 怎么创建自己的网站平台app宁波微信小程序开发公司
  • 富通建设有限公司网站对海尔网站建设水平的评价
  • 营销型网站制作步骤五个学校网站建设工作方案