試圖找出如何使用具有繼承類的構造函數。我知道這是非常錯誤的,我一直在寫C++約三天了,但這裏是我的代碼嗎:C++繼承和構造函數
clientData.h,兩班,ClientData擴展實體:
#pragma once
class Entity
{
public:
int x, y, width, height, leftX, rightX, topY, bottomY;
Entity(int x, int y, int width, int height);
~Entity();
};
class ClientData : public Entity
{
public:
ClientData();
~ClientData();
};
和clientData的.cpp,其中所包含的功能:
#include <iostream>
#include "clientData.h"
using namespace std;
Entity::Entity(int x, int y, int width, int height)
{
this->x = x;
this->y = y;
this->width = width;
this->height = height;
this->leftX = x - (width/2);
this->rightX = x + (width/2);
this->topY = y - (height/2);
this->bottomY = y + (height/2);
}
Entity::~Entity()
{
cout << "Destructing.\n";
}
ClientData::ClientData()
{
cout << "Client constructed.";
}
ClientData::~ClientData()
{
cout << "Destructing.\n";
}
最後,我創建一個新的ClientData有:
ClientData * Data = new ClientData(32,32,32,16);
現在,我並不驚訝我的編譯器在我身上發出了錯誤,所以我如何將這些參數傳遞給正確的類?
的第一個錯誤(從MVC2008)是 錯誤C2661:「ClientData :: ClientData」:沒有重載函數有4個參數
;第二,它會彈出我似乎什麼變化,使是 錯誤C2512 :'實體':沒有適當的默認構造函數可用 謝謝。
你可能想說出你的編譯器在你身上發出的什麼錯誤! – LukeN 2010-05-29 13:34:31
閱讀C++入門。 – starblue 2010-05-29 13:34:35