6
我對C++非常新,所以如果我忽略了一些簡單的東西,請原諒我。我有一個班圈:C++默認構造函數不被調用
class Circle: public Shape{
protected:
//string name;
Point focus;
float radius;
private:
public:
virtual void calculateArea();
virtual void calculatePerimeter();
Circle();
Circle(Point p, float r);
};
我有兩個構造函數,其中一個是我所重載默認:我嘗試創建一個使用每個構造兩個圓一個
Circle::Circle()
{
Point p(1,1);
focus = p;
radius = 10;
name = "Circle";
calculatePerimeter();
calculateArea();
cout<<"default circle"<<endl;
}
Circle::Circle(Point p, float r)
{
focus = p;
radius = r;
name = "Circle";
calculatePerimeter();
calculateArea();
}
我主要的,但是圈被用圓圈(創建)永遠不會被創建。我不能爲我的生活弄清楚爲什麼?沒有錯誤消息或任何東西。
int main{
Circle circle(a, 3.3);
Circle c2();
}
完美的工作,謝謝。如果不是凌晨3點,我可能最終會注意到。我認爲現在放棄時間。 – MichelleJS
還是更好一些:'Circle c2 {}'這是值初始化和'Circle c2;'是默認初始化。 – Nawaz
哦,順便說一下,這不是*最令人頭疼的解析。這只是*煩惱*解析。 'Type1 a(Type2());'* * * * * * * * * * * * * * * * – Nawaz