C++中&operator 和operator区别 能举个例子吗??
答案:2 悬赏:10
解决时间 2021-02-11 12:07
- 提问者网友:伴他一生,无悔
- 2021-02-10 14:41
C++中&operator 和operator区别 能举个例子吗??
最佳答案
- 二级知识专家网友:承载所有颓废
- 2021-02-10 14:49
operator和运算符号 连起来就看做是函数名
调用的时候 直接写 运算符 就可以了
和一般函数没区别
===============================
可以有 也可以没有返回值
不过有一种特例,
比如 把某一种类型自动转换成另一种类型
struct a
{
int c;
operator int* () //将 a类型转换成int*类型
{
return &c;
}
};
void main()
{
a a;
a.c=5;
int *p;
p=a;//调用了自动转换,一般的写法应该是 p=&(a.c),
cout<<*p<
system("pause");
}
调用的时候 直接写 运算符 就可以了
和一般函数没区别
===============================
可以有 也可以没有返回值
不过有一种特例,
比如 把某一种类型自动转换成另一种类型
struct a
{
int c;
operator int* () //将 a类型转换成int*类型
{
return &c;
}
};
void main()
{
a a;
a.c=5;
int *p;
p=a;//调用了自动转换,一般的写法应该是 p=&(a.c),
cout<<*p<
}
全部回答
- 1楼网友:恕我颓废
- 2021-02-10 16:22
一个是引用一个是常规的,就像int n2=2 *p=&n2 *q=n2
*p是通过n2的地址来找到n2的值来赋给*p的,*q是直接获取n2的值,
当后面在设n2=3时,*p的数据会随之改变,而*q不变
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯