C++ 1//设计立方体类 //创建立方体的类 //设计属性和行为 //获取立方体的面积和体积 //分别利用(全局函数 和 成员函数)判断俩个立方体是否相等
1 //设计立方体类
2 //创建立方体的类
3 //设计属性和行为
4 //获取立方体的面积和体积
5 //分别利用(全局函数 和 成员函数)判断俩个立方体是否相等
6 #include <iostream>
7 #include<string>
8 using namespace std;
9
10
11 class Cube
12 {
13
14 public:
15
16 //设置长
17 void setL(int l)
18 {
19 m_L = l;
20 }
21
22 //获取宽
23 int getL()
24 {
25 return m_L;
26 }
27
28 //设置宽
29 void setW(int w)
30 {
31 m_W = w;
32 }
33
34 //获取宽
35 int getW()
36 {
37 return m_W;
38 }
39
40 //设置高
41 void setH(int h)
42 {
43 m_H = h;
44 }
45
46 //获取高
47
48 int getH()
49 {
50 return m_H;
51 }
52
53 //获取立方体面积
54 int calulateS()
55 {
56 return 2 * m_L * m_W + 2 * m_W * m_H + 2 * m_L * m_H;
57 }
58 //获取体积
59 int calulateV()
60 {
61 return m_L * m_W * m_H;
62 }
63
64
65 //利用成员函数判断
66 bool isSameByClass(Cube &c)
67 {
68 if (m_L == c.getL() && m_W == c.getW() && m_H == c.getH())
69 {
70 return true;
71 }
72 return false;
73 }
74
75 private:
76
77
78 int m_L; //长
79 int m_W; //宽
80 int m_H; //高
81 };
82
83 //利用全局函数判断
84 bool isSame(Cube &c1, Cube &c2)
85 {
86 if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH())
87 {
88 return true;
89 }
90 else
91 {
92 return false;
93
94 }
95
96
97
98 }
99
100
101
102 int main()
103 {
104 //创建立方体对象
105
106 Cube c1;
107 c1.setL(10);
108 c1.setW(10);
109 c1.setH(10);
110
111
112 cout << "C1的面积为: " << c1.calulateS() << endl;
113 cout << "C1的体积为: " << c1.calulateV() << endl;
114
115
116 //第二个
117 Cube c2;
118 c2.setL(10);
119 c2.setW(10);
120 c2.setH(12);
121
122 cout << "C2的面积为: " << c2.calulateS() << endl;
123 cout << "C2的体积为: " << c2.calulateV() << endl;
124
125
126 bool ret = isSame(c1, c2);
127 if (ret)
128 {
129 cout << "c1和c2是相等的" << endl;
130 }
131 else
132 {
133 cout << "c1和c2是不相等" << endl;
134 }
135
136 //利用成员函数判断
137 ret = c1.isSameByClass(c2);
138 if (ret)
139 {
140 cout << "成员函数c1和c2是相等的" << endl;
141 }
142 else
143 {
144 cout << "成员函数c1和c2是不相等" << endl;
145 }
146
147 }
C++ 1//设计立方体类 //创建立方体的类 //设计属性和行为 //获取立方体的面积和体积 //分别利用(全局函数 和 成员函数)判断俩个立方体是否相等的更多相关文章
- 通过元类创建一个Python类
通过元类创建一个Python类 最开始学pytohn的时候我们这样定义类 class ClassName: pass 当熟悉了元类的概念之后我们还可以这样创建 ClassName = type(&qu ...
- c++-变量,this指针,全局函数,成员函数,自定义数组类
区分变量属于哪个对象 c++对象管理模型初探 C++类对象中的成员变量和成员函数是分开存储的,C中内存四区仍然有效 C++编译器对普通成员函数的内部处理(隐藏this指针) this指针解决函数形参和 ...
- 潭州课堂25班:Ph201805201 django框架 第五课 自定义简单标签,包含标签,模型类创建,梳理类创建 (课堂笔记)
自定义标签同自定义过渡器一样,要创建文件,在配置文件中以APP方法注册,对方法进注册,在 html 文件中引入,.. 由模板传参 在 在配置文件中改时区: 由视图函数传参 包含标签: 当有这种重复的代 ...
- 第四百一十三节,python面向对象,组合、类创建的本质、依赖注入
组合 组合举例组合就是多个类,或者若干类联合起来完成一个任务下面举例两个类联合起来完成一个任务为了降低代码的耦合度,我们一般不会在一个类里实例化另外一个类,都是将一个类在外面实例化后传参到另外一个来这 ...
- 深入理解类成员函数的调用规则(理解成员函数的内存为什么不会反映在sizeof运算符上、类的静态绑定与动态绑定、虚函数表)
本文转载自:http://blog.51cto.com/9291927/2148695 总结: 一.成员函数的内存为什么不会反映在sizeof运算符上? 成员函数可以被看作是类 ...
- [转]深刻理解Python中的元类(metaclass)以及元类实现单例模式
使用元类 深刻理解Python中的元类(metaclass)以及元类实现单例模式 在看一些框架源代码的过程中碰到很多元类的实例,看起来很吃力很晦涩:在看python cookbook中关于元类创建单例 ...
- 深刻理解Python中的元类(metaclass)以及元类实现单例模式
在理解元类之前,你需要先掌握Python中的类.Python中类的概念借鉴于Smalltalk,这显得有些奇特.在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段.在Python中这一点仍 ...
- C++ 类 & 对象-类成员函数-类访问修饰符-C++ 友元函数-构造函数 & 析构函数-C++ 拷贝构造函数
C++ 类成员函数 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义. 需要强调一点,在 :: 运算符之前必须使用类名.调用成员函数是在对象上使用点运算符(.),这样它就能操作与 ...
- static 成员变量、static 成员函数、类/对象的大小
一.static 成员变量 对于特定类型的全体对象而言,有时候可能需要访问一个全局的变量.比如说统计某种类型对象已创建的数量. 如果我们用全局变量会破坏数据的封装,一般的用户代码都可以修改这个全局变量 ...
随机推荐
- excel用函数去掉单元格内容中的括号,并只保留单元格里面的内容
1.substitute(需要执行替换操作的单元格,需要替换的字符,替换后的字符,有多个需要替换的字符可以指定替换的第几个) 例如:aab--substitute("aab",&q ...
- Linux mlocate源码分析:updatedb
在Linux的文件查找命令中,mlocate提供的locate命令在单纯进行路径名名查找时有着显著的效率优势,因为mlocate预先对磁盘文件进行扫描并存储到一个数据库文件中,查找时只需要检索数据库而 ...
- Redis之复制
1.配置 1.1 建立复制 参与复制的Redis实例划分为主节点(master) 和从节点(slave).默认情况下,Redis都是主节点.每个从节点只能有一个主节点,而主节点可以同时具有多个从节点. ...
- Jenkins CI&CD 自动化发布项目实战(下篇)
Jenkins CI&CD 自动化发布项目实战(下篇) 作者 刘畅 时间 2020-12-04 实验环境 centos7.5 主机名 ip 服务配置 软件 gitlab 172.16.1.71 ...
- layui 修改表格边框颜色
/*设置不可编辑时字体颜色*/ .layui-disabled, .layui-disabled:hover { color: #101010 !important; background-color ...
- 基于socket通信的javaDH通信实现
基于socket通信的javaDH通信实现 https://files.cnblogs.com/files/blogs/692137/DH.rar
- 无法push项目到gitlab的解决方案
gitlab项目组下创建项目 $ git push -u git@192.168.101.129:/DrvOps/Dev_Test : 报错信息如下: remote: ================ ...
- .NET Core授权失败如何自定义响应信息?
前言 在.NET 5之前,当授权失败即403时无法很友好的自定义错误信息,以致于比如利用Vue获取到的是空响应,不能很好的处理实际业务,同时涉及到权限粒度控制到控制器.Action,也不能很好的获取对 ...
- hdu 1145(Sticks) DFS剪枝
Sticks Problem Description George took sticks of the same length and cut them randomly until all par ...
- pod调度
Pod调度 在默认情况下,一个pod在哪个node节点上运行,是由scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的. 但是在实际过程中,这并不满足需求,因为很多情况下,我们想控 ...