例一:设计一个立方体类

图片取自黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili配套环境搭建教程av44145245本教程分为7个阶段,涵盖基础入门到实战项目,第1阶段-C++基础入门,第2阶段实战-通讯录管理系统,第3阶段-C++核心编程,第4阶段实战-基于多态的企业职工系统第5阶段-C++提高编程第6阶段实战-基于STL泛化编程的演讲比赛第7阶段-C++实战项目机房预约管理系统视频全套出自http://yun.itheima.com/course/520.html?bilhttps://www.bilibili.com/video/BV1et411b73Z?p=104

下面代码是案例中的第一个要求:(1)设计出一个类

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;}private:         //一般属性私有int m_L;     //立方体长int m_W;     //立方体宽int m_H;     //立方体高
};

第二个要求:(2)求出立方体的面积和表面积

int calculateS()//表面积的计算函数(记得如果是return所求值的话,记得拿值来接收return的值)
{return 2 * m_H * m_L + 2 * m_H * m_W + 2 * m_L * m_W;
}int calculateV()//体积计算函数
{return m_H * m_L * m_W;
}

要求三:分别用全局函数和成员函数去判断立方体是否相等

成员函数:

//成员函数求法
bool Issame(Cube &c)  //用一个已知的类去调用这个函数,然后函数参数传进来的是那个未知的立方体//具体操作会在主函数调用中体现出来
{if (m_L == c.GetL() && m_H == c.GetH() && m_W == c.GetW())//if (GetL() == c.GetL() && GetH() == c.GetH() && GetW == c.GetW())//上述两行代码是可替换的,原因就是GetL()函数的返回值就是m_L  剩下两个都是这个道理{return true;}return false;
}

全局函数:

bool Issame(Cube &c1,Cube &c2)
{if (m_L == c.GetL() && m_H == c.GetH() && m_W == c.GetW()){return true;}return false;
}

两个函数唯一不同的就是传入的参数不同,实现起来一毛一样!

主函数的调用上述接口函数:

int main()
{Cube c1;c1.SetH(10);c1.SetL(10);c1.SetW(10);Cube c2;c2.SetH(10);c2.SetL(10);c2.SetW(122);int flag = c1.Issame(c2);if (flag){cout << "哈哈哈" << endl;}else{cout << "呜呜呜" << endl;}system("pause");return 0;
}

成员函数那个函数理解起来较困难一些   就是一个已知的对象来调用成员函数,传入一个未知的对象,来进行比较!

菜就多练,要不输的时候别叫,自己不努力,怪谁呢?

C++类的案例(一)相关推荐

  1. Netty消息接收类故障案例分析

    <Netty 进阶之路>.<分布式服务框架原理与实践>作者李林锋深入剖析Netty消息接收类故障案例.李林锋此后还将在 InfoQ 上开设 Netty 专题持续出稿,感兴趣的同 ...

  2. 关于结构化伪类的案例

    结构化伪类的案例 开发工具与关键技术:DW html和css 作者:沈金凤 年级:18级(4)班 撰写日期:2019年2月21日 伪类分很多种例如:UI伪类,结构化伪类,伪元素,CSS3新增伪类选择器 ...

  3. scala案例_Scala案例类和案例对象深入(第1部分)

    scala案例 发表简短目录 (Post Brief TOC) Introduction介绍 What is Case Class什么是案例类 What is Case Object什么是案例对象 S ...

  4. scala案例_Scala案例类和案例对象深入(第2部分)

    scala案例 发表简短目录 (Post Brief TOC) Introduction介绍 Scala's Case Class Benefit-6Scala案例类权益6 Advantages of ...

  5. Day18JavaSE——Map集合Collections工具类集合案例练习

    Day18JavaSE--Map集合&Collections工具类&集合案例练习 文章目录 Day18JavaSE--Map集合&Collections工具类&集合案例 ...

  6. CSS基础知识(表单标签、事件、CSS介绍、选择器、伪类选择器案例、样式、盒子模型、定位)...

    一. 表单标签 <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...

  7. 《java入门第一季》之类String类小案例

    String类有许多获取方法,API文档里面可查看.针对获取方法,给出小案例. /** 需求:遍历获取字符串中的每一个字符* 分析: 用到两个方法:char charAt(int index) 表示获 ...

  8. 软件方法(下)分析和设计第9章分析 之 分析类图——案例篇(20211228更新)

    软件方法(下)分析和设计第8章分析 之 分析类图--知识篇(20211227更新) 鸳鸯扣,宜结不宜解 <身似摇红烛影>,词:唐涤生,曲:王粤生,唱:红线女,1954 可到此处下载本文档最 ...

  9. C++模板笔记十:类模板案例:通用数组类

    案例描述: 实现一个通用的数组类,要求如下: 可以对内置数据类型以及自定义数据类型的数据进行存储. 将数组中的数据存储到堆区 构造函数中可以传入数组的容量 提供对应的拷贝构造函数以及operator= ...

最新文章

  1. LR12的log解释
  2. 【CentOS】磁盘管理与vim编译器
  3. boost::generate相关的测试程序
  4. 为什么计算机的编码那么多,为什么中国剩余定理可用于计算机编码?
  5. Java中的CopyOnWrite
  6. 内核编译配置选项含义
  7. 题目4:EXCEL排序
  8. 【Linux】静态库与动态库的生成及调用
  9. GB28181协议简介及实践
  10. Excel中纵向查找函数-VLOOKUP函数
  11. 全国计算机等级考试在线报名湖南,『NCRE报名入口』湖南2020年下半年计算机等级报名入口-ncre-bm.neea.cn...
  12. Excel VBA: 自动生成巡检报表并通过邮件定时发送
  13. 保险机构如何保护客户信息安全?
  14. 一些API函数(Console居多)Console API
  15. CC00389.CloudKubernetes——|KuberNetesCI/CD.V27|——|Jenkins.v07|自动构建NodeJs应用.v01|
  16. 做网站SEO优化每天都做什么
  17. 基于beaglebone的rtems4.12源码编译生成image镜像并烧入sd卡
  18. 免费制作证件照、一键换背景底色,不会PS也能轻松搞定各种证件照!
  19. Android 自定义View实现文本水平方向的跑马灯效果
  20. 找回Windows XP 815主板下的160G硬盘

热门文章

  1. 多机多卡训练基本原理
  2. 自动类型转换和强制类型转换
  3. invalidate()源码分析
  4. 电脑总有安装计算机更新,为什么我们的电脑总会莫名的安装垃圾软件,看完吓一跳,欢迎关注...
  5. java jtable 单元格合并_JTable 单元格合并 【转】
  6. HarmonyOS ScrollView 不滑动的问题
  7. Android resource linking failed
  8. (八)pdf的构成之文件体(page属性)
  9. 第三周-第08章节-Python3.5-文件修改详解
  10. python操作mysql(二)