单例对象
.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;
}
网友评论