设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长

简介: 设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长

设计一个长方形类,成员变量包括长度和宽度,成员函数除包括计算周长和计算面积外,还包括用 Set 方法设置长和宽,以及用 get 方法来获取长


方形的长和宽

1)创建头文件。在工程主界面左上角点击 File 菜单,在弹出的 New 对话框
中选择 C/C++ Header File 选项,新建头文件命名为 Rectangle.h。用来设计长方形类。
2)编辑头文件。在弹出的 Rectangle.h 头文件中添加 Rectangle 类的代码。
步骤 a:声明程序设计所需要包含的头文件:
#include <iostream.h>
步骤 b:根据题目要求:定义长方形类:Rectangle 类:
class Rectangle
{
……
};
步骤 c:在 Rectangle 类中定义成员变量:
private:
float length; //长
float width; //宽
步骤 d:定义成员函数:
构造函数:
Rectangle(float len = 1, float wid = 1):length(len), width(wid){}
析构函数:
~ Rectangle (){}
//定义函数功能
计算长方形周长的成员函数:
float Perimeter(){
return 2*(length + width);
}
计算长方形面积的成员函数:
double Area() {
return length*width;
}
设置长方形长的成员函数:
void SetLength(float len)
{
length = len; 
}
设置长方形宽的成员函数
void SetWidth(float wid)
{
width = wid;
}
获取长方形长的成员函数
float GetLength()
{
return length;
}
获取长方形宽的成员函数
float GetWidth()
{
return width;
}
步骤 e:程序编写示例
3)创建源文件。在工程主界面左上角点击 File 菜单,在弹出的 New 对话框
中选择 C++Source File 选项,新建头文件命名为 Rectangletest.cpp。用来测试长
方形类。
4)编辑源文件。在弹出的 Rectangletest.cpp 头文件中添加测试主程序代码。
a.详细代码:
#include "Rectangle.h" //包含 Rectangle.h 头文件
void main()
{
Rectangle Rec1, Rec2(10, 10);
cout<<"长:"<<Rec1.GetLength()<<" 宽:"<<Rec1.GetWidth()<<endl;
cout<<"周长:"<<Rec1.Perimeter()<<" 面积:"<<Rec1.Area()<<endl<<endl;
Rec1.SetLength(5);
Rec1.SetWidth(8);
cout<<"长:"<<Rec1.GetLength()<<" 宽:"<<Rec1.GetWidth()<<endl;
cout<<"周长:"<<Rec1.Perimeter()<<" 面积:"<<Rec1.Area()<<endl<<endl;
cout<<"长:"<<Rec2.GetLength()<<" 宽:"<<Rec2.GetWidth()<<endl;
cout<<"周长:"<<Rec2.Perimeter()<<" 面积:"<<Rec2.Area()<<endl<<endl;
}
#include<iostream>
using namespace std;
class CF {//定义CF类
public:
  int C;
  int K;
  CF()
  {}
  //定义函数功能
  void set(){
    cout << "请输入长度" << endl;
    cin >> C;
    getchar();
    cout << "请输入宽度" << endl;
    cin >> K;
  }
  void get() {
    cout << "长度为:" << C << endl;
    cout << "宽度为:" << K << endl;
  }
  int ZC() {
    int c;
    c = 2 * (C + K);
    return c;
  }
  int MJ() {
    int c;
    c = C * K;
    return c;
  }
  ~CF()
  {}
};
int main() {
  int a;
  int c, d;
  CF m;
  m.set();
  cout << "--------------------------" << endl;
  m.get();
  cout << "--------------------------" << endl;
  cout << "请选择操作:" << endl << "1:求周长" << endl << "2:求面积" << endl;
  cout << "--------------------------" << endl;
  while (scanf("%d", &a) != EOF) {
    if (a == 1) {
      cout << "周长是" << m.ZC() << endl;
    }
    else if (a == 2) {
      cout << "面积是" << m.MJ() << endl;
    }
  }
  return 0;
}


目录
相关文章
|
27天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
36 6
|
29天前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
41 3
|
4天前
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”-&gt;“Settings”-&gt;“Editor”-&gt;“Code Style”-&gt;“Java”中设置。批量生成时,可多选变量一次性生成。
|
22天前
|
Rust Java
set 方法是坏味道?
【10月更文挑战第19天】
27 5
|
30天前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
32 4
|
29天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。
【10月更文挑战第14天】从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。本文深入探讨Set的核心理念,并通过示例代码展示了HashSet和TreeSet的特点和应用场景。
18 2
|
1月前
|
C#
SET访问器和GET访问器
SET访问器和GET访问器
26 2
|
30天前
|
存储
ES6中的Set数据结构的常用方法和使用场景
ES6中的Set数据结构的常用方法和使用场景
|
2月前
|
JavaScript 前端开发
JavaScript 中的新 Set 方法
JavaScript 中的新 Set 方法
25 1
|
3月前
|
Python
python中set和frozenset方法和区别
python中set和frozenset方法和区别

热门文章

最新文章