建構函式而後拷貝建構函式的區別

2021-07-16 19:49:56 字數 1030 閱讀 2680

呼叫案例

【建構函式】

#include

#include

using namespace std;

class point

private:

int x,y;

public:

point(int a=0,intb=0)     //定義建構函式

x=a; 

y=b;

int getx()

return x;

int gety()

return y; 

point g()

point q(3,5);

return q;

void main()

point p1(2,4);    //用建構函式建立物件p1

cout}【拷貝建構函式】

#include

#include

using namespace std;

class point

private:

int x,y;

public:

point(int a=0,intb=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<<"呼叫拷貝建構函式"coutpoint q(3,5);

return q;

void main()

point p1(2,4);    //用建構函式建立物件p1

point p2(p1);          //第一種情況

coutp2=g();               //第三種情況

cout}

建構函式 拷貝建構函式

建構函式可以分為三類 1 不帶引數的建構函式 在函式體中對資料成員賦初值,這種方式使該類的每乙個物件都得到同一組初值 2 帶引數的建構函式 如果使用者希望對不同的物件賦不同的初值,可以採用帶引數的建構函式。在呼叫不同物件的建構函式時從外面將不同的資料傳遞給建構函式,以實現初始化 3 複製建構函式 建...

建構函式 拷貝建構函式

person person 引用就是指標常量 所以person p person const p,引用所以一旦初始化指向某個位址,就不能在改變了。為什麼前面還要加const,因為拷貝建構函式的目的就是將乙個物件的所有屬性拷貝到另外乙個物件,這個物件的屬性不變,加上const 相當於 const pe...

拷貝建構函式與賦值建構函式的區別

class cstr protected const cstr copy const cstr str private char m pdata size t m size cstr cstr size t cstr getsize const const cstr cstr copy const ...