1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include<iostream> using namespace std; class point { private: int x,y; public: point(int a=0,int b=0) {x=a;y=b;} point(point &p); int getx() {return x;} int gety() {return y;} }; point::point(point &p) { x=p.x+10; y=p.y+20; cout<<"调用复制构造函数"<<endl; }
void f(point p) {cout<<p.getx()<<" "<<p.gety()<<endl;} point g() { point q(3,5); return q; }
void main() { point p1(1.1,2.2); point p2(p1); cout<<p2.getx()<<" "<<p2.gety()<<endl; f(p2); p2=g(); cout<<p2.getx()<<" "<<p2.gety()<<endl; }
|