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

app开发网站建设培训班微机做网站的软件

app开发网站建设培训班,微机做网站的软件,wordpress占用带宽,唐兴数码网站目录 定义operator重载运算符operator重载函数调用运算符operator类型转换操作符 定义 C11 中,operator 是一个关键字,用于重载运算符。通过重载运算符,您可以定义自定义类型的对象在使用内置运算符时的行为。 operator重载用法一般可以分为…

目录

  • 定义
  • operator重载运算符
  • operator重载函数调用运算符
  • operator类型转换操作符

定义

C++11 中,operator 是一个关键字,用于重载运算符。通过重载运算符,您可以定义自定义类型的对象在使用内置运算符时的行为。

operator重载用法一般可以分为以下三类:

  • operator可以重载我们运算符“±*/=”等;
  • 还可以重载我们的函数调用运算符"operator()";
  • 还可以做类型转换运算符

operator重载运算符

常见用法:

#include <iostream>class MyNumber {
private:int value;public:MyNumber(int num) : value(num) {}int getValue() const {return value;}// 重载加法运算符 '+'MyNumber operator+(const MyNumber& other) {int sum = value + other.value;return MyNumber(sum);}
};int main() {MyNumber num1(5);MyNumber num2(10);MyNumber sum = num1 + num2;  // 使用重载的加法运算符进行相加操作std::cout << "Sum: " << sum.getValue() << std::endl;return 0;
}

可以看到MyNumber sum = num1 + num2;看起来是对象相加,其实是进入了重载的+运算符,相加的是对象中的成员变量。

operator重载函数调用运算符

class Adder {
public:int operator()(int a, int b) {return a + b;}
};
// 使用函数对象进行加法运算
Adder add;
int result = add(3, 4);  // 调用 operator(),返回结果 7

看起来add就和函数一样,但其实不然,只是重载函数调用运算符后,可以让实例化的add对象像函数一样使用。这也被称为仿函数(这个词算是非常形象了)。

operator类型转换操作符

类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换。转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的目标类型。

class MyType {
public:using fr_t = void(*)(int);static void func(int a){std::cout << "the value:" << a << std::endl;}operator fr_t() {// 执行适当的转换操作// 将 MyType 转换为 fr_treturn func;//这里是将函数指针赋给了fr_t}
};// 使用类型转换运算符进行类型转换
MyType obj;
obj(2);  // 这里涉及到两步动作:一是调用 operator fr_t(),将 obj 转换为 fr_t 类型;二是调用了fr_t(2)

原理:转换函数必须是成员函数,不能指定返回类型,并且形参表必须为空;返回值是隐含的,返回值是与转换的类型相同的,即为上面原型中的函数指针类型fr_t,以及返回的函数func必须对应起来;

obj(2);这行代码的执行过程有点难理解,可分为两步:

  • 一是调用 operator fr_t(),将 obj 转换为 fr_t 类型;
  • 二是调用了fr_t(2); 这里fr_t函数指针已经指向了func,所以可以直接调用。
http://www.yayakq.cn/news/315799/

相关文章:

  • 免费网站建站软件昆山网站建设网站
  • NET网站开发程序员招聘网页美工设计教程
  • 网站 后台 安装网页制作基础教程课件
  • 济南网站优化排名推广网站展示英文都用什么字体
  • 站长统计app官方网站网站权重是怎样进行传递的
  • 上海未来网站建设公司黄页模式
  • 成功的营销网站软件开发服务公司
  • 深圳朝阳电子网站建设网站建设怎么找客源
  • 如何做pc网站适配英文网站开发哪家好
  • 微信做淘宝客 网站打不开了重庆行业平台
  • 关于教做鞋的网站wordpress主题4mudi
  • 有哪些做兼职的设计网站有哪些工作诸城网页设计公司
  • 手机能进封禁网站的浏览器程序开发 网站开发
  • 做论坛推广的网站代理服务器ip国外
  • 客户说做网站没效果怎么回答好广州建站网站前十名
  • 工信部 网站开发设计师wordpress 即时
  • 德州做网站的公司有哪些网站管理助手打开是系统参数配置
  • 做网站需要编程?国内网站建设排名
  • 怎么做示爱的网站免费seo诊断
  • 网站营销策略有哪些友情链接发布网
  • 网站分析设计做的项目的过程公司网站做优化少钱
  • 中国建设银行抚州分行网站建网站建设网站
  • 绵阳微网站制作wordpress微博图床怎么用
  • 甘肃建投土木工程建设有限公司网站后台欧阳娜娜自创品牌
  • 看谁做的好舞蹈视频网站巨腾外贸网站建设
  • 做视频网站教程网页设计图片边框代码
  • 网站自动生成做网站平台的公司
  • 网站无后台可以上框架宣传的网站开发需要多少钱
  • 网站建设用哪种语言好公众号排版怎么做
  • 破解php网站后台密码做企业网站选百度云还是阿里云