C++ 类之间转化 转化构造函数
创始人
2024-11-15 13:04:43
0

C++ 类之间转化 转化构造函数

自定义类型-转化构造函数

class 目标类 {     目标类(const 源类型 & 源类对象引用)     {         根据需求完成从源类型到目标类型的转换     } }  目标 实现其它类型到本类类型的转化。  原理 转换构造函数,本质是一个构造函数。是只有一个参数的构造函数。如有多 个参数,只能称为构造函数,而不是转换函数。转换构造,强调的是一转一。  应用 用于传参或是作返回。 

explicit 关键字

关键字 explicit 可以禁止"单参数构造函数"被用于自动类型转换。
即 explicit 仅用于单参构造(默认参数构成的单参亦算)。

转化多是刻意而为之,以隐式的形式发生,为了示意同正常构造的不同,常用
explicti 关键字修饰,要求在转化时显示的调用其构造器完成转化。

#include  #include  #include  using namespace std; //转化构造函数的本质,也是构造函数 class Point2D {     //友元类     friend class Point3D; public:     Point2D(int x=0, int y=0 )             :_x(x),_y(y){} private:     int _x;     int _y; };  class Point3D { public:     Point3D(int x=0, int y=0 ,int z=0)             :_x(x),_y(y),_z(z){}     //转换构造函数     explicit Point3D(const Point2D & d2)     {         this->_x = d2._x;         this->_y = d2._y;         this->_z = rand()%100;     }     void dumpFormat()     {         cout<<"("<<_x<<","<<_y<<","<<_z<<")"<
  ```c++ #include  using namespace std; //关键字 explicit 可以禁止"单参数构造函数"被用于自动类型转换 class mystring { public:      explicit mystring(const char* s= nullptr)     {         cout<<"    mystring(const char* s= nullptr)"<
  ## 自定义类型-操作符函数转化 转换函数必须是类方法,转换函数无参数,无返回。  ```c++ class 源类{     operator 目标类(void)     {         return 目标类构造器(源类实参);     } } 
//todo 自定义类型-操作符函数转化 #include  #include  #include  using namespace std;  class Point3D { public:     Point3D(int x=0, int y=0 ,int z=0)             :_x(x),_y(y),_z(z){}      void dumpFormat()     {         cout<<"("<<_x<<","<<_y<<","<<_z<<")"<

相关内容

热门资讯

微信买链接炸金花房卡/欢乐游大... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
微信群开牛牛房卡/冷酷大厅牛牛... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受更...
微信群开炸金花房卡在哪购买/微... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
微信群炸金花房卡到哪里买/斗牛... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
拼三张房卡链接去哪里买/新人皇... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
微信上玩炸金花房卡怎么买/微信... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
微信牛牛房卡怎样开/新海狮大厅... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...
微信炸金花链接在哪买房卡/微信... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
在哪里买拼三张微信房卡/新皇豪... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
炸金花如何开好友房间房卡/美猴... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享...
炸金花房卡链接在哪弄的/新九五... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
微信买链接拼三张房卡/橘子大厅... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
微信怎样开炸金房间卡/新猴王微... 牌九是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...
斗牛从哪里买房卡/新道游大厅牛... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受更...
微信链接炸金花房卡在哪买的/斗... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享...
微信牛牛房卡专卖店联系方式/新... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...
拼三张好友房卡在哪里买/新大海... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...
微信牛牛房间卡在哪买的/老夫子... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:33903369许多玩家在游戏中会购买房卡来享受...
微信牛牛房卡如何购买/新永和大... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:55051770许多玩家在游戏中会购买房卡来享受...
炸金花房间如何购买房卡/微信里... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:8488009许多玩家在游戏中会购买房卡来享受...