gpt4 book ai didi

c++ - 我不明白我为这个程序得到的输出。

转载 作者:行者123 更新时间:2023-11-28 03:26:02 24 4
gpt4 key购买 nike

<分区>

class polygon 的继承程序是基类,我创建了一个派生类调用矩形。在我的多边形基类中,我有一个构造函数和析构函数以及两个用于面积和周长的 print 函数。在我的派生类中,我有一个构造函数和析构函数以及两个用于面积和周长的 print 函数以及 calc areacalc perimeter 函数。我不明白的是我现在运行这个程序时得到的输出。我想要的输出是 area = 45 perimeter = 28。我在使用 rect_1.calcarea() 但希望使用 rect_1.printarea() 时得到此输出。

#include<iostream>
using namespace std;

class polygon
{

protected:
double area;
double perimeter;
public:
polygon(){}
virtual ~polygon(){ }
virtual double printarea() const { return area ;}
virtual double printperimeter() const { return perimeter ;}
};

class rectangle : public polygon
{

public:
rectangle(double , double ) ;
~rectangle(){ }
double calcarea() ;
double calcperimeter() ;
virtual double printarea() const { return area ;}
virtual double printperimeter() const { return perimeter ;}

private:
double length;
double width;
};

rectangle::rectangle(double l , double w)
{
length = l;
width = w;
}

double rectangle::calcarea()
{
area = length*width;
return area;
}

double rectangle::calcperimeter()
{
perimeter = length + width;
perimeter = perimeter * 2;
return perimeter;
}

void main ()
{
rectangle rect_1 (9.0, 5.0);

cout<<"The Area of Rect_1 is " <<rect_1.printarea() <<endl;
cout<<"The Perimeter of Rect_1 is " <<rect_1.printperimeter() <<endl;

system("pause");
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com