c++operator++运算符重载。

zds2122021-5-462

#include<iostream>
using namespace std;class mint
{
        friend ostream& operator<<(ostream& cout, mint p);
public:
        mint()
        {
                number = 0;
        }
        mint& operator++()
        {
                number++;
                return *this;
        }
        mint operator++(int)
        {
                mint temp=*this;
                number++;
                return temp;
        }private:
        int number;
};ostream& operator<<(ostream& cout,mint p)
{
        cout << p.number;
        return cout;
}void text01()
{
        mint p;
        cout << ++(++(++p)) << endl;
        cout << p++<<endl;
        cout << p << endl;
}int main()
{
        text01();
        system("pause");
        return 0;
}
最新回复 (9)
  • 楼主zds2122021-5-5
    引用2
    列明 发表于 2021-5-5 00:30

    是输出的意思。
  • gms2021-5-5
    引用3
    列明 发表于 2021-5-5 00:30

    左移运算符,在C++中就是输出功能
  • 列明2021-5-5
    引用4
    <<是什麽意思呢?
    今天見了兩三次了,
    看不懂。
    是移位麽?
  • angel83272021-5-5
    引用5
    运算符重载那时候看了好多遍视频,现在又忘了...
  • 列明2021-5-6
    引用6
    gms 发表于 2021-5-5 00:33
    左移运算符,在C++中就是输出功能

    謝謝解惑!
    但是這兩段還是不明白。
    ostream& operator<<(ostream& cout,mint p)
    {
            cout << p.number;
            return cout;
    }void text01()
    {
            mint p;
            cout << ++(++(++p)) << endl;
            cout << p++<<endl;
            cout << p << endl;
    }
  • 列明2021-5-6
    引用7
    zds212 发表于 2021-5-5 09:05
    是输出的意思。

    嗯,
    感謝。
  • 楼主zds2122021-5-6
    引用8
    列明 发表于 2021-5-6 00:23
    謝謝解惑!
    但是這兩段還是不明白。
    ostream& operator

    void text01()
    {
            mint p;
            cout << ++(++(++p)) << endl;
            cout << p++<<endl;
            cout << p << endl;
    }
    这个的++ 是计算用的,一次也可以,我用了三次。        cout << ++(++(++p)) << endl;
  • gms2021-5-6
    引用9
    列明 发表于 2021-5-6 00:23
    謝謝解惑!
    但是這兩段還是不明白。
    ostream& operator

    重载了加号运算符,对自定义的数据类型(mint这个类)相加
  • 伊芙加登2021-5-6
    引用10
    友员的第二个参数改成对类对象的const的引用应该更好一点。
  • 游客
    11
返回