c++ *运算符重载

Willow ·
更新时间:2024-11-10
· 686 次阅读

运算符重载,对象和指向对象的指针

直接上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++中运算符重载的规则语法实例



c+ 重载 运算符 运算符重载 C++

需要 登录 后方可回复, 如果你还没有账号请 注册新账号