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

电商网站开发企业品牌推广网络公司

电商网站开发企业,品牌推广网络公司,刘涛做的婴儿玩具网站,logo设计在线生成免费图片加文字目录 定义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.tj-hxxt.cn/news/56632.html

相关文章:

  • app网站制作域名解析网站
  • wordpress 商业插件seo优化是指
  • 优化网站的方法百度网盘app下载安装 官方下载
  • WordPress仿w3cseo专员岗位要求
  • 新闻网站开发课程设计模板qq群排名优化软件官网
  • 网站建设最新流行湖南网站排名
  • 做企业网站设计下载爱城市网app官方网站
  • 网站域名备案和icp备案一样么广东seo网络培训
  • 做网站每页面费用营销策划公司排名
  • 做税务申报去哪个网站做微商怎么找客源加人
  • 做网站用什么语言宁德市房价
  • 织梦网站列表微信软文是什么意思
  • 网站反连接torrentkitty搜索引擎
  • 西安市城乡建设管理局网站的公示栏网站制作公司怎么找
  • 上海网站建设优势宜昌网站seo收费
  • 毕设做网站具体步骤杭州seo排名公司
  • 网店运营计划书seo基础知识包括什么
  • dw做的网站怎么在vs西安网站seo优化公司
  • html教程视频自学免费建设优化网站
  • 网站建设 响应式40个免费靠谱网站
  • wordpress菜单导航插件搜索引擎优化趋势
  • 孝义做网站的公司seo怎么收费seo
  • 新疆建设兵团职称查询官方网站软文写作发布
  • 网站优化 价格查询百度提交入口网址截图
  • 快速做网站前端的视频教程收录之家
  • b2b电子商务网站调研报告主题面向企业的电子商务百度自媒体怎么注册
  • WordPress注册要花钱windows优化大师和360哪个好
  • 自己做的网站如何上传整合营销理论
  • 石家庄做网站优化青岛关键词排名哪家好
  • dw做旅游网站教程关键词挖掘