定義
析構函數是與類同名的成員函數,並且構造函數可以有參數,但是沒有任何返回類型的聲明,析構函數也可以重載。
例定義如下類
class TEST
{
private:
int a;
int b;
int c;
public:
TEST()//1.無參構造函數
{
printf("TEST()\n");
}
TEST(const TEST& A)//2.拷貝構造函數
{
printf("TEST(const TEST& A\n");
}
TEST(int v)//3. 形參爲int的構造函數
{
a = b = c = v;
}
void print(void)
{
printf("a = %d, b = %d, c = %d\n", a, b, c);
}
};
構造函數的使用
int main(void)
{
TEST t1;//自動調用1構造函數
TEST t1(4);//自動調用3構造函數
TEST t1 = 5;//自動調用3構造函數
TEST t1 = TEST(4);//主動調用3構造函數
TEST T2 = t1;//自動調用2拷貝構造函數
TEST T[3] = {TEST(1),TEST(2),TEST(3)};//若不這樣列表初始化,會報錯
}
當類內沒有提供構造