用C++设计一个JX类表示矩形,矩形的长和宽作为其两个数据成员。编写一个求矩形面积的函数area(),并将它声明为JX的一个友元函数。利用area()求出该矩形的面积。
时间: 2024-05-04 16:21:17 浏览: 66
以下是实现的代码:
```c++
#include <iostream>
using namespace std;
class JX {
private:
double length;
double width;
public:
JX(double l, double w) {
length = l;
width = w;
}
friend double area(JX r);
};
double area(JX r) {
return r.length * r.width;
}
int main() {
JX r(5.0, 3.0);
cout << "矩形的面积为:" << area(r) << endl;
return 0;
}
```
首先,我们定义了一个JX类,包含了长和宽两个私有数据成员。然后我们编写了一个构造函数来初始化这两个数据成员。接着,我们声明了一个友元函数area(),用来计算矩形的面积。在函数实现中,我们访问了JX类的私有数据成员length和width,完成了计算过程。
在主函数中,我们创建了一个JX对象r,并调用了area()函数来计算其面积。最后,将结果输出到控制台。
相关问题
请用C++完成这个实验:生成一个JX类表示矩形,矩形的长和宽作为其两个数据成员。编写一个求矩形面积的函数area(),并将其声明为JX的一个友元函数。在main函数中创建一个矩形对象,长和宽分别为3和4,调用area()求出该矩形的面积。
```c
#include<stdio.h>
class JX{
private:
int length;
int width;
public:
JX(int l,int w){
length=l;
width=w;
}
friend int area(JX obj);
};
int area(JX obj){
return obj.length*obj.width;
}
int main(){
JX rect(3,4);
printf("长为%d、宽为%d的矩形的面积为:%d\n",rect.length,rect.width,area(rect));
return 0;
}
```
用C++编写一个程序,编写一个矩形类,数据成员为长和宽,成员函数包括计算周长函数、计算面积函数、构造函数。由矩形类派生出一个正方形类,成员函数包括构造函数、析构函数等。在主函数中定义正方形类对象,计算并输出其周长和面积
好的,下面是我为您编写的代码:
```c++
#include <iostream>
using namespace std;
// 矩形类
class Rectangle {
protected:
double length; // 长
double width; // 宽
public:
Rectangle(double l, double w) {
length = l;
width = w;
}
double getPerimeter() { // 计算周长
return 2 * (length + width);
}
double getArea() { // 计算面积
return length * width;
}
};
// 正方形类
class Square : public Rectangle {
public:
Square(double s) : Rectangle(s, s) {} // 构造函数
~Square() {} // 析构函数
};
int main() {
Square s(5); // 定义正方形对象
cout << "正方形的周长为 " << s.getPerimeter() << endl;
cout << "正方形的面积为 " << s.getArea() << endl;
return 0;
}
```
这个程序定义了一个矩形类 `Rectangle`,并在其中定义了构造函数、计算周长和面积的成员函数。然后,通过 `Square` 类继承了 `Rectangle` 类,并重载了构造函数,以实现正方形对象的创建。在主函数中,定义了一个正方形对象 `s`,并调用其成员函数计算并输出周长和面积。
希望这个程序能够帮到您,如果您有任何问题,请随时问我。
阅读全文