C++におけるコンストラクション関数、コピーコンストラクション、付与関数
5628 ワード
#include<iostream>
using namespace std;
class test
{
public:
/* **************/
test()
{
}
test(int a,short id)
{
this ->a = a; //this , main() t
this ->id = id;
}
test(int a,short id,int sum):a(a),id(id),sum(sum +a +id)
{
}
/************** ************************************/
test(const test& sd)
{
this-> a = sd.a;
this-> id = sd.id;
this-> sum = sd.sum;
}
/* **************************/
test & operator = (const test& sd)
{
this-> a = sd.a;
this-> id = sd.id;
this-> sum = sd.sum;
return *this;
}
public :
void show()
{
cout<<a<<endl;
cout <<id<<endl;
cout << sum <<endl;
}
private :
int a;
short id;
int sum;
};
int main()
{
test t(12,32);
t.show();
test t1(1,3,0);
t1.show();
test t2(t1);
t2.show();
test t3;
t3.show();
t3 = t2;
t3.show();
return 0;
}
#include<iostream>
using namespace std;
class test
{
public:
/* **************/
test()
{
}
test(int a,short id)
{
this ->a = a; //this , main() t
this ->id = id;
}
test(int a,short id,int sum):a(a),id(id),sum(sum +a +id)
{
}
/************** ************************************/
test(const test& sd)
{
this-> a = sd.a;
this-> id = sd.id;
this-> sum = sd.sum;
}
/* **************************/
test & operator = (const test& sd)
{
this-> a = sd.a;
this-> id = sd.id;
this-> sum = sd.sum;
return *this;
}
public :
void show()
{
cout<<a<<endl;
cout <<id<<endl;
cout << sum <<endl;
}
private :
int a;
short id;
int sum;
};
int main()
{
test t(12,32);
t.show();
test t1(1,3,0);
t1.show();
test t2(t1);
t2.show();
test t3;
t3.show();
t3 = t2;
t3.show();
return 0;
}
12
32
-858993460
1
3
4
1
3
4
-858993460
-13108
-858993460
1
3
4
Press any key to continue