美文网首页
JNI基础 -- C++基础知识(单例对象、操作符重载)

JNI基础 -- C++基础知识(单例对象、操作符重载)

作者: 刘小厨 | 来源:发表于2020-04-19 14:29 被阅读0次

    单例对象

    .h头文件私有构造和变量,暴露获取实例的方法:

    class Student
    {   
    private:
        Student();
        static Student* instance;
    public:
        static Student* getInstance();
    };
    

    .cpp文件初始化指针,实现获取单例的方法:

    //指针使用前一定要初始化
    Student* Student::instance = 0;
    
    Student* Student::getInstance() {
        if (!instance){
            instance = new Student();
        }
        return instance;
    }
    

    最后在其它类中调用:

     Student* instance = Student::getInstance();
    

    操作符重载

    C++是支持重载函数的,C是不支持的,这也是C++面向对象的一种表现形式
    C++还支持操作符重载,Java是不支持的,操作符也就是+ ,-等操作符
    例如我们声明一个Test类,写一个变量i:

    现在我们想通过两个Test对象相加得到一个新的Test对象可以这样写:

    class Test
    {
    public:
        int i;
            //操作符重载的关键字是operator,后面跟上要重载的操作符,方法实现写自己想要处理的逻辑
        Test operator+(const Test& t) {
            Test temp;
            temp.i=this->i + t.i;
            return temp;
        }
    };
    

    如上述代码我们就可以实现两个Test对象相加

    int main()
    {
        Test test1;
        test1.i = 100;
        Test test2;
        test2.i = 200;
        Test test3 = test1 + test2;
    }
    

    相关文章

      网友评论

          本文标题:JNI基础 -- C++基础知识(单例对象、操作符重载)

          本文链接:https://www.haomeiwen.com/subject/wqkebhtx.html