社区
C++ 语言
帖子详情
重载运算符operator int() const是什么意思?
abcmankind
2004-12-16 11:16:04
定义了一个类class1:
class class1
{
public:
class1();
virtual ~class1();
operator int() const
{
return i;
}
private:
int i;
};
重载运算符operator int() const是什么意思?
怎么去使用这个重载的运算符?
...全文
1411
8
打赏
收藏
重载运算符operator int() const是什么意思?
定义了一个类class1: class class1 { public: class1(); virtual ~class1(); operator int() const { return i; } private: int i; }; 重载运算符operator int() const是什么意思? 怎么去使用这个重载的运算符?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pacman2000
2004-12-16
打赏
举报
回复
是这个类到int类型的转换函数。
liweiswin
2004-12-16
打赏
举报
回复
#include<iostream>
using namespace std;
class class1
{
public:
class1();
class1(int n)
{
i=n;
}
operator int() const
{
return i;
}
private:
int i;
};
int main()
{
class1 test(8);
int temp;
temp=int(test); //用重载的int()将class1类型转换成int类型并赋值给temp
cout<<temp<<endl;
getchar();
return 0;
}
输出结果是8
goodluckyxl
2004-12-16
打赏
举报
回复
operator int() const
如同系统的强制转化 const修饰表示在这个函数中不能修改任何不被mutable修饰的成员变量
carylin
2004-12-16
打赏
举报
回复
数据转化函数。有了个函数就可以象内建数据类型一样强制/自动转换成int型了。可以这样使用:
class1 c;
//...
int i = (int)c; // ok!
BluntBlade
2004-12-16
打赏
举报
回复
类型转换运算符
class1 c;
int b = (int)c; // 在这里调用被重载的运算符
greenteanet
2004-12-16
打赏
举报
回复
从这个类到int的转换函数.
oyljerry
2004-12-16
打赏
举报
回复
类到int型的转换
Breeze
2004-12-16
打赏
举报
回复
这个是显示的从类到int的转换函数,还有一个隐式的转换函数,这就是类的构造函数
比如
class myclass
{
public:
myclass(int temp);
private:
int _data;
}
myclass(int temp)就定义了一个从myclass到int的转换
【C++】运算符重载关于
const
的分析(超详细)
C++运算符重载
重载运算符
“+”第1个
const
第2个
const
第3个
const
重载运算符
“-”
重载运算符
“-”(与上面的含义不同)
重载运算符
“+=” 与 “-=”
重载运算符
“==” 与 “!=”
重载运算符
“++” 与 “--”重载 “<<" 与 “>>”完整源代码 C++里面的运算符重载细节特别多,这里用一个 Po
int
类来演示一下C++的运算符重载。(需要理解友...
重载运算符
三个
const
的作用
这里可以看到,
重载运算符
函数不匹配“
const
Po
int
”与“Po
int
”的相加类型,因为如果不加第三个
const
时,调用此运算符的对象是变量,而在C++中
const
object-> 变量是不允许的,因为一旦变为变量,那么就意味着可以修改这个对象的内容,也就违背了
const
的定义,故报错。2.第二个
const
的位置后面是函数参数,表明读取参数时,将其视为常量,保证当传参为
const
类型时也可接受,否则如果只是接受变量,那么就无法处理+常数的操作。对象可以是
const
类型。
C++编程语言中
重载运算符
(
operator
)介绍
operator
是C++的一个关键字,它和运算符(如“=”)一起使用,表示一个运算符重载函数,在理解时可将
operator
和待重载的运算符整体(如“
operator
=”)视为一个函数名。使用
operator
重载运算符
,是C++扩展运算符功能的方法。使重载后的运算符的使用方法与重载前一致;扩展运算符的功能只能通过函数的方式实现。(实际上,C++中各种“功能”都是通过函数实现的)
重载运算符
operator
详解
用好
重载运算符
可以简化代码,所以一定要用清楚!拜拜~~~
【C++】- 类和对象(运算符重载!!
const
!!详解!!)
运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。所以运算符重载是通过函数重载的方式来实现的,其中函数名为运算符的符号。运算符重载函数可以是类的成员函数或友元函数。返回值类型
operator
运算符 (参数列表) {// 运算符的实现在运算符重载函数中,参数列表指定了参与运算的操作数。返回值类型通常为该类类型的引用或对象,以支持连续运算。需要注意的是,不是所有的运算符都可以被重载,.*sizeof?注意以上5个运算符不能重载。
C++ 语言
65,201
社区成员
250,521
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章