zds212 发表于 2021-5-4 22:15

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

本帖最后由 zds212 于 2021-5-7 22:33 编辑

#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;
}

zds212 发表于 2021-5-5 09:05

列明 发表于 2021-5-5 00:30


是输出的意思。

gms 发表于 2021-5-5 00:33

列明 发表于 2021-5-5 00:30


左移运算符,在C++中就是输出功能

列明 发表于 2021-5-5 00:30

<<是什麽意思呢?
今天見了兩三次了,
看不懂。
是移位麽?

angel8327 发表于 2021-5-5 11:51

运算符重载那时候看了好多遍视频,现在又忘了...

列明 发表于 2021-5-6 00:23

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 00:27

zds212 发表于 2021-5-5 09:05
是输出的意思。

嗯,
感謝。

zds212 发表于 2021-5-6 09:14

列明 发表于 2021-5-6 00:23
謝謝解惑!
但是這兩段還是不明白。
ostream& operator

void text01()
{
      mint p;
      cout << ++(++(++p)) << endl;
      cout << p++<<endl;
      cout << p << endl;
}
这个的++ 是计算用的,一次也可以,我用了三次。      cout << ++(++(++p)) << endl;

gms 发表于 2021-5-6 13:13

列明 发表于 2021-5-6 00:23
謝謝解惑!
但是這兩段還是不明白。
ostream& operator

重载了加号运算符,对自定义的数据类型(mint这个类)相加

伊芙加登 发表于 2021-5-6 20:24

页: [1]
查看完整版本: c++operator++运算符重载。