天天看點

CPP學習一構造函數預設構造函數對象數組

經過測試發現,帶參數的構造函數不可以用來聲明數組,如下列的代碼就是錯誤的。

class Coordinate {
public:
	//Coordinate() {

	//}
	Coordinate(int x, int y):m_iX(x),m_iY(y) 
	{
	}
	Coordinate(const Coordinate & coor) {
		this->m_iX = coor.m_iX;
		this->m_iY = coor.m_iY;
	}
	void PrintCoor()
	{
		cout << m_iX << ',' << m_iY << endl;
	}
	void PrintCoor()const
	{
		cout << m_iX << ',' << m_iY << endl;
	}
private:
	int m_iX;
	int m_iY;
};
           

如果沒有預設構造函數,這裡将不可以用

Rect arrRect[10];
           

來聲明一個對象數組。必須要有預設構造函數,因為不可以在執行個體對象數組時為每個元素傳入參數,來執行帶參構造函數。

繼續閱讀