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


      类型转换操作符(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;
        }

  • 相关阅读:
    高级指令(三)
    高级指令(二)
    高级指令(一)
    高级指令(四)
    基础指令(二)
    02使用Maven构建Java项目
    03初识Maven核心概念(上)
    01Maven概述与安装
    关于sizeof与#pragma pack 以及网络上关于字节对齐的一点感想
    学习之"setjmp和longjmp函数"
  • 原文地址:https://www.cnblogs.com/wenrenhua08/p/3995313.html
Copyright © 2020-2023  润新知