标签:
本文引自:http://www.jb51.net/article/41333.htm
operator用于类型转换函数:
类型转换函数的特征:
1) 型转换函数定义在源类中;
2) 须由 operator 修饰,函数名称是目标类型名或目标类名;
3) 函数没有参数,没有返回值,但是有return 语句,在return语句中返回目标类型数据或调用目标类的构造函数。
对象向基本数据类型转换:
#include<iostream> #include<string> using namespace std; class D{ public: D(double d):d_(d) {} operator int() const{ std::cout<<"(int)d called!"<<std::endl; return static_cast<int>(d_); } private: double d_; }; int add(int a,int b){ return a+b; } int main(){ D d1=1.1; D d2=2.2; std::cout<<add(d1,d2)<<std::endl; system("pause"); return 0; }
标签:
原文地址:http://www.cnblogs.com/RockyZuo/p/5689821.html