8

私は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);

};

2 つのコンストラクターがあり、そのうちの 1 つはオーバーロードしたデフォルトです。

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();
}

私のメインでは、each コンストラクターを使用して 1 つずつ 2 つの円を作成しようとしていますが、Circle() で作成された円は決して作成されません。私は一生、理由を理解できませんか?エラーメッセージなどはありません。

int main{
    Circle circle(a, 3.3);
    Circle c2();
}
4

2 に答える 2