运算符重载,对象和指向对象的指针
直接上code
代码如下:
#include <iostream>
using namespace std;
class test
{
public:
int a;
test() : a(0){}
test &operator*(){
cout << "operator*" << endl;
cout << a << endl;
return *this;
}
};
int main()
{
test *t;
t = new test;
test t2 = *t;
t->a += 1;
// t2.a += 1;
*t = *t2;
*t; // 这一行 *t2; // **t; // 注意*t 和 **t这两个的差别
return 0;
}
运行结果:
t是指向test对象的指针,(*t) 也就是一个test对象。
所以只有 *t才真正的调用了 运算符的重载函数。
您可能感兴趣的文章:C++中的四个默认成员函数与运算符重载详解浅谈C++类型转化(运算符重载函数)和基本运算符重载(自增自减)C++ 中重载和运算符重载加号实现矩阵相加实例代码深入解析C++编程中的运算符重载详解C++编程中的单目运算符重载与双目运算符重载C++运算符重载规则详解c++运算符重载基础知识详解C++运算符重载的方法详细解析C++运算符重载 成员函数与友元函数详解C++中运算符重载的规则语法实例