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

2020-04-19  本文已影响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;
}
上一篇下一篇

猜你喜欢

热点阅读