美文网首页
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++基础知识(单例对象、操作符重载)

    单例对象 .h头文件私有构造和变量,暴露获取实例的方法: .cpp文件初始化指针,实现获取单例的方法: 最后在其它...

  • C++基础-(重载)

    C++基础 重载 哪些运算符可以被重载:::,.,->,*,?:不能被重载 重载操作符的标志(operator) ...

  • C/C++基础知识(三)——单例、重载、模板

    单例对象和操作符重载 单例调用 注意:指针声明的时候一定要初始化,.h里面声明的构造函数也要实现,否则会报错 操作...

  • Kotlin --- Operator Overloading

    简述 Kotlin的操作符重载与C++类似,虽然没有C++那么强大,但是仍然可以实现Kotlin的操作符重载。 操...

  • c++的运算符重载

    C++中的加号重载:例:实现复数的相加 C++中的前置++重载:例:点的移动 C++中的后置++重载:例:点的移动

  • C++中的操作符重载

    操作符重载 C++中的重载能够扩展操作符的功能 操作符的重载以函数的方式进行 本质:用特殊形式的函数扩展操作符的功...

  • C++学习笔记(七)操作符重载(上)

    1、基本操作符重载 操作符重载指的是将C++提供的操作符进行重新定义,使之满足我们所需要的一些功能。 在C++中可...

  • C++ 操作符重载

    操作符重载 操作符的重载是在实际的C++编程过程中不太容易引人注意但却非常实用的一个特性。合理的实现操作符重载可以...

  • JNI 基础知识

    JNI 基础知识 什么是 JNI ? JNI (Java Native Interface) 是 Java 沟通 ...

  • 《C++ Primer Plus》第11章学习笔记

    内容思维导图 1. 操作符重载 操作符重载(Operator overloading)是一种形式的C++多态。第8...

网友评论

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

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