拷贝构造函数
#include <iostream>
using namespace std;
class Point{
private:
int x,y;
public:
Point(int a,int b=0){
x=a;y=b;
cout<<"normal"<<endl;
}
Point(const Point &p){
x=2*p.x;
y=2*p.y;
cout<<"copy"<<endl;
}
void print(){
cout<<x<<" "<<y<<endl;
}
};
void f1(Point p){
p.print();
}
Point f3(Point p){
return p;
}
Point f2(){
Point p(10,30);
return p;
}
int main(){
Point p1(30,40);
p1.print();
Point p2(p1);
p2.print();
Point p3=p2;
p3.print();
f1(p1);
p2=f2();
p2.print();
Point p4(1,1);
cout<<"p4"<<endl;
p4.print();
p2=f3(p4);
p2.print();
return 0;
}
using namespace std;
class Point{
private:
int x,y;
public:
Point(int a,int b=0){
x=a;y=b;
cout<<"normal"<<endl;
}
Point(const Point &p){
x=2*p.x;
y=2*p.y;
cout<<"copy"<<endl;
}
void print(){
cout<<x<<" "<<y<<endl;
}
};
void f1(Point p){
p.print();
}
Point f3(Point p){
return p;
}
Point f2(){
Point p(10,30);
return p;
}
int main(){
Point p1(30,40);
p1.print();
Point p2(p1);
p2.print();
Point p3=p2;
p3.print();
f1(p1);
p2=f2();
p2.print();
Point p4(1,1);
cout<<"p4"<<endl;
p4.print();
p2=f3(p4);
p2.print();
return 0;
}