類和物件 物件特性 構造函式呼叫規則

2021-10-12 06:25:02 字數 531 閱讀 4317

預設情況下,c++編譯器至少給乙個類新增三個函式

預設建構函式(無參,函式體為空)

預設析構函式(無參,函式體為空)

預設拷貝建構函式,對屬性進行值拷貝

構造函式呼叫規則如下:

#include

using

namespace std;

//按照引數分類 有參構造(預設構造) 無參構造

//按照型別分類 普通構造 拷貝構造

class

person

person

(int age)

// //拷貝建構函式

// person(const person &p)

//析構函式

~person()

int m_age;};

void

test01()

intmain()

可以看到雖然沒有自己寫拷貝建構函式,但是p2的年齡仍然為18。其實是編譯器在預設的拷貝建構函式中做了簡單的值拷貝。

類和物件 物件特性 函式的分類和呼叫

兩種分類方式 按引數分類分為 有參構造和無參構造 按型別分類分為 普通構造和拷貝構造 三種呼叫方式 括號法顯示法 隱式轉換法 特點 當前行執行結束後,系統會立即 掉匿名物件 person類 class person person int a 拷貝建構函式 person const person p ...

類與物件特性 建構函式分類與呼叫

建構函式分類 按引數分為 有參和無參構造 按型別分為 普通構造和拷貝構造 呼叫方式 呼叫方式有三種 括號法,顯示法,隱式轉換法。include include using namespace std class person person int a 有參建構函式 person const pers...

類和物件 複製建構函式

形如x x x 或x x const x 二選一,後者能以常量物件作為引數 class complex complex c1 呼叫預設無參建構函式 complex c2 c1 呼叫預設的複製建構函式,將 c2 初始化成和c1一樣class complex complex const complex ...