LHL'PTA 实验4. 类和对象(一)

该博客详细介绍了使用C++实现类的几个实例,包括计算矩形面积的Rectangle类、表示平面上点的Point类、描述汽车属性的Car类以及包含人员信息的Person类。每个类都包含了属性和相应的成员函数,例如设置和获取属性值、计算距离等。此外,还涵盖了Dog类和MyTime类的设计,以及对12小时制和24小时制时间的转换。博客最后作者分享了实验过程中的体会,强调了类的封装性和成员函数的实现细节。
摘要由CSDN通过智能技术生成

实验4. 类和对象(一)

6-1 使用类计算矩形的面积 (10分)

定义并实现一个矩形类,有长和宽两个属性,由成员函数计算矩形的面积。

矩形类Rectang接口定义如下:
class Rectangle {
public:
void setLength(int l);//设置矩形的长度
void setWidth(int w); //设置矩形的宽度
int getArea(); //计算并返回矩形的面积
private:
int length, width; //矩形的长度和宽度
};

请实现Rectangle类的成员函数。

裁判测试程序样例:
#include
using namespace std;

class Rectangle {
public:
void setLength(int l);//设置矩形的长度
void setWidth(int w); //设置矩形的宽度
int getArea(); //计算并返回矩形的面积
private:
int length, width; //矩形的长度和宽度
};

int main()
{
Rectangle r;
int len, w;
cin >> len >> w;//LHL
r.setLength(len);
r.setWidth(w);
cout << r.getArea() << “\n”;

return 0;

}

/* 你的代码将嵌在这里 */

输入样例:

10 20

输出样例:

200


   void Rectangle::setLength(int l)//设置矩形的长度
{
   
    length=l;//LHL
}
   void Rectangle::setWidth(int w) //设置矩形的宽度
{
   
     width=w;
}
   int Rectangle::getArea()   //计算并返回矩形的面积
{
   
     return width*length;
}

6-2 Point类的声明和实现 (10分)

定义一个Point类,代表平面上的一个点,其横坐标和纵坐标分别用x和y表示,设计Point类的成员函数,实现并测试这个类。 主函数中输入两个点的坐标,计算并输出了两点间的距离。请根据主函数实现Point类。

裁判测试程序样例:
#include
#include
#include
using namespace std;

//你的代码将被嵌在这里

int main()
{
Point p1, p2;
double x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
p1.setX(x1);
p1.setY(y1);
p2.setX(x2);
p2.setY(y2);
double x = p1.getX() - p2.getX();
double y = p1.getY() - p2.getY();
double len = sqrt(x * x + y * y);
cout << fixed << setprecision(2) << len << endl;
return 0;
}

输入样例:

0 0 3 3

输出样例:

4.24

class Point{
   
    double x;
    double y;
  public:
     void setX(double a)
     {
   
       x=a;
     }
     void setY(double b)
     {
   
       y=b;
     }
     double getX()
     {
   
       return x;
     }
     double getY()
     {
   //LHL
       return y;
     }

};

6-3 类的声明与成员函数的实现–Car类 (10分)

本题要求根据给定的Car类的声明,实现其成员函数。

类和函数接口定义:
class Car //定义类Car
{
//成员函数
public:
void disp_welcomemsg(); //显示欢迎信息
int get_wheels(); //返回汽车的车轮数量
void set_wheels(int); //设置汽车的车轮数量
//数据成员
private:
int m_nWheels; //汽车的车轮数量
};

其中,成员函数void disp_welcomemsg()显示一条欢迎信息“Welcome to the car world!”。 成员函数int get_wheels()返回Car类的私有数据成员m_nWheels。 成员函数int set_wheels(int)用指定的形参初始化数据成员m_nWheels。

裁判测试程序样例:
#include
using namespace std;

class Car //定义类Car
{
//成员函数
public:
void disp_welcomemsg(); //显示欢迎信息
int get_wheels(); //返回汽车的车轮数量
void set_wheels(int); //设置汽车的车轮数量
//数据成员
private:
int m_nWheels; //显示汽车的车轮数量
};

/* 请在这里填写答案 */

int main()
{
int n;
cin >> n;
Car mycar; //定义类对象mycar
mycar.disp_welcomemsg(); //访问成员函数,显示欢迎信息
mycar.set_wheels(n); //访问成员函数,设置车轮数量
//访问成员函数,显示车轮数量
cout << "wheels = " << mycar.get_wheels() << endl;
return 0;
}

输入样例:

4

输出样例:

Welcome to the car world!
wheels = 4

void Car::disp_welcomemsg
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值