#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Myinteger {
friend ostream& operator<<(ostream& cout, Myinteger myint);
public:
Myinteger()
{
int m_Num = 0;
}
Myinteger &operator--()
{
m_Num--;
return *this;
}
Myinteger operator--(int)
{
Myinteger temp = *this;
m_Num--;
return temp;
}
private:
int m_Num;
};
ostream& operator<<(ostream& cout, Myinteger myint)
{
cout << myint.m_Num << endl;
return cout;
}
void test01()
{
Myinteger myint;
cout << --myint << endl;
cout << myint << endl;
}
void test02()
{
Myinteger myint;
cout << myint-- << endl;
cout << myint << endl;
}
int main()
{
//test01();
test02();
system("pause");
return 0;
}
把
Myinteger()
{
int m_Num = 0;
中的 int去掉
你这等于在构造函数里又定义了一个临时变量,而类的成员变量m_Num并没有被赋予初始值0,所以还是一个随机乱码而已
///
写程序还得细心才行啊
你构造函数里加int等于重新定义了一个同名变量,那里初始化的是新定义的局变量,真正的类成员变量没有初始化,所以是随机的