C++设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算矩形的面积。

注:该题是今日做题时所遇。
要求:
【输入形式】

程序参考的输入(提示“Input Point A:”输入左下角的坐标;提示“Input Point B:”输入左下角的坐标):

Input Point A:0 0

Input Point B:8.2 4.5

【输出形式】

程序参考的输出:

Rectangle Area:36.9


问题描述

由于刚开始对C++语言的生疏,所以拿到题目没有头绪,于是写了个错误代码。
如下(错误样例):
该代码惨不忍睹,所以可以跳过阅读。

#include <iostream>using namespace std;class Rectangle{public:void setbian(float len,float wid){l=len;w=wid;}float Area(float l,float w){area=l*w;return area;}
private:int l,w,area;
};
int main()
{float l1,l2,w1,w2;float l,w;float area;cout<<"Input Point A:";cin>>l1>>l2;cout<<"Input Point B:";cin>>w1>>w2;l=l2-l1;w=w2-w1;Rectangle a;a.setbian(l,w);area=a.Area(l,w);cout<<"Rectangle Area:"<<area;return 0;
}

原因分析:

首先是对成员函数的使用欠缺导致代码运行错误,其次是对变量的类型分析错误,最后是对类中函数的调用错误。(总之Bug一大堆)


解决方案:

记录一下我搜索的类的成员函数的概念:类的成员函数的描述类的行为,是程序算法的实现部分,是对封装的数据进行操作的方法。例如本题,若没有正确使用成员函数则会导致结果错误。
针对本题,需要使用的是double型定义变量,如果使用int整型变量会导致结果为0。
函数的调用就不再赘述。以下为正确代码;

#include<iostream>
using namespace std;class Rectangle{public:double j;
void area(double X=0,double Y=0,double A=0,double B=0);
private:
double x,y,a,b;
};
void Rectangle::area(double X,double Y,double A,double B){x=X;y=Y;a=A;b=B;
j=(a-x)*(b-y);}int main(){double x,y,a,b;
Rectangle rectangle;
cout<<"Input Point A:";
cin>>x>>y;
cout<<"Input Point B:";
cin>>a>>b;rectangle.area(x,y,a,b);
cout<<"Rectangle Area:"<<rectangle.j<<endl;
return 0;}

C++设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算矩形的面积。相关推荐

  1. C++设计并测试一个名为Ellipse的椭圆类,其属性为外接矩形的左上角和右下角两个点的坐标,并能计算出椭圆的面积。

    椭圆的面积为:S=π×a×b(其中a,b分别是椭圆的长半轴,短半轴的长) 注:#include< iomanip >是C++中的标准库,其成员函数主要是对是C++中输出流格式的限定, #i ...

  2. 设计并测试一个椭圆类

    题目内容: 设计并测试一个名为Ellipse的椭圆类,其属性为圆心坐标及长半轴和短半轴的长度.设计一个构造函数(Ellipse(int,int,double,double))对这些属性进行初始化,并通 ...

  3. Java黑皮书课后题第9章:9.1 (Rectangle类)遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形

    Java黑皮书课后题第9章:9.1 (Rectangle类)遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形 题目 代码 PS Test1 Test1_Rectangle ...

  4. 设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域。

    设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域,它们分别表示矩形的宽和高.width和height的默认值都为1.该类包括矩形类的无参构造函数 ...

  5. 定义一个名为Rectangle的类表示矩形,其中含有length和width两个double型的成员变量表示长和宽。要求为每一个变量定义访问方法和修改方法......

    标题定义一个名为Rectangle的类表示矩形,其中含有length和width两个double型的成员变量表示长和宽.要求为每一个变量定义访问方法和修改方法,定义求矩形周长的方法getPerimet ...

  6. Java程序编写一个矩形类,将长与宽作为矩形类的属性,在构造方法中将长、宽初始化,定义一个成员方法求此矩形的面积。

    package javase7;public class javase7_2 {private float height; //定义一个矩形的长private float width; //定义一个矩 ...

  7. 6-25 设计一个矩形类Rectangle

    设计一个名为Rectangle的类表示矩形.这个类包括: 两个名为width和height的double型数据域,它们分别表示矩形的宽和高.width和height的默认值都为1. 一个无参构造方法. ...

  8. 设计一个名为complex的类来表示复数_complex类java解决

    作者:wzu_cza123 出自:CSDN 原文:blog.csdn.net/wzu_cza123/article/details/108857953?utm_medium=distribute.pc ...

  9. 设计一个接口, 并设计一个实现类实现该接口,演示它们的使用。具体,创建一个名称为Person的接口,在接口中定义两个方法sayHello()和sayBye()。

    设计一个接口, 并设计一个实现类实现该接口,演示它们的使用. 具体,创建一个名称为Person的接口,在接口中定义两个方法sayHello()和sayBye().然后,创建两个实现了Person接口的 ...

最新文章

  1. JAVA面试题系列:如何解决Redis的并发竞争问题
  2. Laravel/Lumen搭建服务器性能测试
  3. SD--关于定价过程中的存储顺序的参考结构和参考字段的使用代码跟踪
  4. memcache 缓存命中率   状态查询
  5. nmap隐藏自己扫描
  6. JS控制文本框内键盘上下左右键的焦点
  7. PHP开发工具phpDesigner 7 (最新版,含注册机)
  8. 无需Apple ID和密码即可将iPad恢复出厂设置的几种方法
  9. 魔板游戏java_Java魔板游戏完整代码及注释
  10. SpringBoot三种实现邮箱发送功能
  11. 金彩教育:如何提升店铺的信誉
  12. 云主机是什么,如何才能选择性价比高的云主机?
  13. 二次函数回归方程_高三||【专题】导数的几何意义研究函数的切线问题
  14. java程序员一般用什么笔记本_购买适合程序员编程开发用的笔记本电脑的几点建议...
  15. 自定义气泡效果(BubbleView)
  16. 深圳-数据岗位面试不完全记录(回忆版)
  17. 6种css3鼠标滑过动画效果
  18. 全国地区+邮编的数据库脚本
  19. 【图论】中国邮递员问题、平面图上最大割问题的多项式时间算法
  20. Easy Excel

热门文章

  1. 乔布斯经典演讲:《Stay Hungry Stay Foolish》主要讲了什么?对我们有什么启示?
  2. 《代码整洁之道》一之整洁代码的必要性
  3. 将Latex tex文档转换成 word文档(上)
  4. SparkCore之共享变量的解释
  5. 计算机主板定位孔尺寸,775针主板上四个 CPU散热器固定孔 的孔距 分别是多少...
  6. android 组件导出,阳光沙滩-android组件化项目,build生成的文件重复的情况
  7. matlab语音识别系统(源代码),matlab语音识别系统(源代码)最新版DOC.doc
  8. 华为任正非老爷子的一番话,听得我不寒而栗
  9. 动态规划解二维多重背包问题
  10. 【电脑办公软件】万彩办公大师教程丨图片转PDF工具