64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class Test{
unsigned int number;
public:
Test(){
cout<<"无参构造函数"<<endl;
}
Test(unsigned int n):number(n){
cout<<"test01(100) => "<<number<<" 带参构造函数"<<endl;
}
~Test(){
cout<<"~Test() => "<<"析构地址 : "<<this<<" "<<"析构对象 : "<<number<<endl;
}
unsigned int getnumber()const{
return number;
}
Test &operator=(const Test&t){
cout<<"复制构造函数"<<endl;
number = t.getnumber();
return *this;
}
Test &operator++(int){
cout<<"后置运算符被调用 : "<<endl;
Test temp = *this;
cout<<"Test temp = *this => "<<"temp的地址 : "<<&temp<<" "<<"this的地址: "<<this<<endl;
number++;
cout<<"temp.getnumber() => "<<temp.getnumber()<<endl;
return temp;
}
friend ostream&operator<<(ostream &os, const Test &t){
cout<<"输出运算符获得的对象地址 : "<<&t<<" 调用类型 : "<<"& - cout"<<endl;
cout<<"输出 : "<<t.getnumber();
return os;
}
friend ostream&operator<<(ostream &os, const Test &&t){
cout<<"&& - cout"<<endl;
cout<<"cout : "<<t.getnumber();
return os;
}
};
int main()
{
Test test01(100);
cout<<(test01++)<<endl;
return 0;
}