c++operator 类型转换函数

一.opertor:本类类型--->其他类型(内置类型或其他类类型)

c++中opertor可以将类类型转换为内置类型或其他类型,但反之不行

operator 类型名( )

{

实现转换的语句:return 目标类型对象

}

1 class a
 2 {
 3     int aa;    
 4     double bb;
 5 public:
 6     a(int _a,int _b) :aa(_a),bb(_b){}
 7     operator int(){ return aa; }   //无返回值类型,无参数,返回目标类型的对象
 8 };
 9 void main()
10 {
11     a a(1,2.0);
12     int b = a;    //a---->int
13     cout << b << endl;
14 }

二.转换构造函数:其他类型--->本类类型
通过转换构造函数可以将其他类型数据转换成本类类型,是一种隐式转换,只包含一个参数,若想拒绝此种转换,可在转换构造函数前加explict修饰

注意:转换构造函数只能有一个参数。如果有多个参数,就不是转换构造函数。(当一个构造函数只有一个参数,而且该参数又不是本类的const引用时,这种构造函数称为转换构造函数。)

1 class a
 2 {
 3     int aa;    
 4     double bb;
 5 public:
 6     a(){};
 7     a(int _a,double _b) :aa(_a),bb(_b){}
 8     a(double _b):bb(_b){ aa = 0; }  //转换构造函数
 9     operator int(){ return aa; }   //无返回值类型,无参数,返回目标类型的对象
10     void output(){ cout << aa << "," << bb << endl; }
11 };
12 void main()
13 {
14     double b = 3.1;
15     a a = b;    //double-->a
16     a.output();
17 }

c++operator 类型转换函数
原文链接: https://www.cnblogs.com/chenzexin/p/13180453.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/199427

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午8:07
下一篇 2023年2月12日 下午8:07

相关推荐