【发布时间】:2019-12-30 15:36:19
【问题描述】:
我想在Area 类中创建一个DataArea 类的对象,并在main 函数中初始化数据。但我的代码工作的唯一方法是在 Area 类中初始化数据。
另外,我不知道我是否正确地制作了对象。请指导我。我的代码如下:
#include<iostream>
using namespace std;
class DataArea
{
public:
int radius, length, width, base, heigth;
DataArea(int l, int w, int b, int h, int r)
{
length = l;
width = w;
radius = r;
heigth = h;
base = b;
}
};
class Area
{
public:
DataArea* s = new DataArea(3, 4, 5, 6, 7);
float AreaCirle()
{
return 3.142 * s->radius * s->radius;
}
float AreaRectangle()
{
return s->length * s->width;
}
float AreaTraingle()
{
return (s->base * s->heigth) / 2;
}
};
class print_data : public Area
{
public:
void print()
{
cout << "Area of Circle is: " << AreaCirle() << endl;
cout << "Area of Rectangle is: " << AreaRectangle() << endl;
cout << "Area of Traingle is: " << AreaTraingle() << endl;
}
};
int main()
{
//DataArea da(3, 4, 5, 6, 7);
print_data m;
m.print();
}
【问题讨论】:
-
例如有什么问题?
DataArea da(3, 4, 5, 6, 7)?它给你带来了什么问题?目前还不是很清楚你有什么问题。 -
如何在Area类中创建对象而不初始化值?如果我不在 Area 类中初始化值,它会说,“期望 5 个参数,提供 0 个”
-
你需要一个构造函数来初始化
Area类中的DataArea成员。 -
谁能给我一个有两个类的程序。一个类有一个变量半径和一个构造函数来初始化值。第二类应该有第一类的对象并计算圆的面积。这将帮助我了解概念。
标签: c++ class oop data-structures constructor