|
@@ -0,0 +1,132 @@
|
|
|
+//练习案例1:设计立方体类
|
|
|
+
|
|
|
+//设计立方体类(Cube)
|
|
|
+//求出立方体的面积和体积
|
|
|
+//分别用全局函数和成员函数判断两个立方体是否相等。
|
|
|
+
|
|
|
+//1、创建立方体类
|
|
|
+//2、设计属性
|
|
|
+//3、设计行为 获取立方体面积和体积
|
|
|
+//4、分别利用全局函数和成员函数 判断两个立方体是否相等
|
|
|
+
|
|
|
+#include <iostream>
|
|
|
+
|
|
|
+class Cube
|
|
|
+{
|
|
|
+public:
|
|
|
+ //行为
|
|
|
+
|
|
|
+ //设置获取长、宽、高
|
|
|
+
|
|
|
+ //设置长
|
|
|
+ void setL(int l)
|
|
|
+ {
|
|
|
+ m_L = l;
|
|
|
+ }
|
|
|
+ //获取长
|
|
|
+ int getL()
|
|
|
+ {
|
|
|
+ return m_L;
|
|
|
+ }
|
|
|
+ //设置宽
|
|
|
+ void setW(int w)
|
|
|
+ {
|
|
|
+ m_W = w;
|
|
|
+ }
|
|
|
+ //获取宽
|
|
|
+ int getW()
|
|
|
+ {
|
|
|
+ return m_W;
|
|
|
+ }
|
|
|
+ //设置高
|
|
|
+ void setH(int h)
|
|
|
+ {
|
|
|
+ m_H = h;
|
|
|
+ }
|
|
|
+ //获取高
|
|
|
+ int getH()
|
|
|
+ {
|
|
|
+ return m_H;
|
|
|
+ }
|
|
|
+ //获取立方体的面积
|
|
|
+ int calculateS()
|
|
|
+ {
|
|
|
+ return 2 * m_L * m_W + 2 * m_H * m_W + 2 * m_L * m_H;
|
|
|
+ }
|
|
|
+ //获取立方体的体积
|
|
|
+ int calculateV()
|
|
|
+ {
|
|
|
+ return m_H * m_L * m_W;
|
|
|
+ }
|
|
|
+
|
|
|
+ //利用成员函数来判断两个立方体是否相等
|
|
|
+ bool isSameByClass(Cube &c)
|
|
|
+ {
|
|
|
+ if (m_L == c.getL() && m_W == c.getW() && m_H == c.getH())
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+private:
|
|
|
+ //属性
|
|
|
+
|
|
|
+ int m_L;
|
|
|
+ int m_W;
|
|
|
+ int m_H;
|
|
|
+
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+//利用全局函数判断 两个立方体是否相等
|
|
|
+bool isSame(Cube& c1, Cube& c2)
|
|
|
+{
|
|
|
+ if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH())
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
+int main5()
|
|
|
+{
|
|
|
+ //创建立方体对象
|
|
|
+ Cube c1;
|
|
|
+ c1.setL(10);
|
|
|
+ c1.setW(10);
|
|
|
+ c1.setH(10);
|
|
|
+
|
|
|
+ std::cout << "c1的面积为 : " << c1.calculateS() << std::endl;
|
|
|
+ std::cout << "c1的体积为 : " << c1.calculateV() << std::endl;
|
|
|
+
|
|
|
+
|
|
|
+ //创建第二个立方体
|
|
|
+ Cube c2;
|
|
|
+ c1.setL(10);
|
|
|
+ c1.setW(10);
|
|
|
+ c1.setH(10);
|
|
|
+
|
|
|
+ //利用全局函数判断
|
|
|
+ bool ret = isSame(c1, c2);
|
|
|
+ if (ret)
|
|
|
+ {
|
|
|
+ std::cout << "全局函数判断 : c1和c2是相等的" << std::endl;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ std::cout << "全局函数判断 : c1和c2是不相等的" << std::endl;
|
|
|
+
|
|
|
+ //利用成员函数判断
|
|
|
+ ret = c1.isSameByClass(c2);
|
|
|
+ if (ret)
|
|
|
+ {
|
|
|
+ std::cout << "成员函数判断 : c1和c2是相等的" << std::endl;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ std::cout << "成员函数判断 : c1和c2是不相等的" << std::endl;
|
|
|
+
|
|
|
+ system("pause");
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|