首页 > 编程语言 > 详细

C++ 类型转换操作与操作符重载 operator type() 与 type operator()

时间:2014-09-26 20:30:49      阅读:327      评论:0      收藏:0      [点我收藏+]

  类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转
换。转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的目标类型。
class CVImage
{
public :
    CVImage();
    explicit CVImage(unsigned int width, unsigned int height, unsigned short depth, unsigned short nChannels = 3);
    CVImage(CVImage& img);
    ~CVImage();

    void ReleaseImage();
    int Resize(unsigned int width, unsigned int height, unsigned short depth, unsigned short nChannels = 3);
    
    operator IplImage*() { return m_image; };
    inline IplImage* GetImage() { return m_image; };

private:
    IplImage* m_image;
};
先来说下类型转换构造函数:C++中的explicit用来修饰类的构造函数,表明该构造函数是显示的,在调用有参数的构造函数
时需要显式调用:
    CVImage cImg = CVImage(640, 480, 8, 1);
    
    运算符重载操作:
    IplImage* operator() ()
    {
        return m_image;
    }

C++ 类型转换操作与操作符重载 operator type() 与 type operator()

原文:http://www.cnblogs.com/wenrenhua08/p/3995313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!