普通C++类的写法.docx_第1页
普通C++类的写法.docx_第2页
普通C++类的写法.docx_第3页
普通C++类的写法.docx_第4页
普通C++类的写法.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对于初学C+的学生而言,最难的知识不是C+繁杂的语法,而是接触到类的学习后不知类的设计和写法如何规范,往往把一大堆函数或数据塞到一个class的两个大括号中就认为类搞定了,其实普通类的写法远不只如此,而是有着一定之规,学习者必须要从一开始就养成良好的设计和编写习惯才能在将来的学习中走的更快更远。下面是一个非常简单的Time类的写法,请注意规范和注释讲解:/-/文件名:time.h/功能:声明Time类/-#ifndef TIME_H#define TIME_Hclass Timepublic:/所有参数都带有默认值的构造函数,同时也是默认构造函数Time(int aHour = 0, int aMin = 0, int aSec = 0);/重新设置小时void setHour(int aHour);/重新设置分钟void setMin(int aMin);/重新设置秒void setSec(int aSec);/获取小时,不是打印,而是该函数的返回值是当前m_iHour的值int getHour();/获取分钟,功能同getHour函数int getMin();/获取秒,功能同getSec函数int getSec();/显示时间,这个函数是演示之用,一般在设计类时不会包含含有cout,cin的函数void display();private:int m_iHour;int m_iMin;int m_iSec;#endif/-/文件名:time.cpp/功能:Time类的定义/-#include using std:cout;using std:endl;#include time.h/用初始化列表初始化类中数据成员,速度快,效率高Time:Time(int aHour, int aMin, int aSec):m_iHour(aHour),m_iMin(aMin),m_iSec(aSec)/注释略void Time:setHour(int aHour)m_iHour = aHour;/注释略void Time:setMin(int aMin)m_iMin = aMin;/注释略void Time:setSec(int aSec)m_iSec = aSec;/注释略int Time:getHour()return m_iHour;/注释略int Time:getMin()return m_iMin;/注释略int Time:getSec()return m_iSec;/注释略void Time:display()cout m_iHour : m_iMin : m_iSec endl;/-/文件名:demo.cpp/功能:演示Time类的使用方法/-#include #include time.hint main()Time t1;t1.setHour(3);t1.setMin(40);t1.setSec(30);t1.display();/Time t2(7, 30, 20);cout t2.getHour() : t2.getMin() : t2.getSec() endl;system(pause);return 0; 类中数据部分放到private限定符下,类的对外接口函数(这里指广义的接口,指外部可以访问的函数)放在public下面,当然不是所有的成员函数都必须放在public下面,这要按照类的设计意图来写,这个我们暂时不管它。对于一个类中的数据来说,修改和获取数据成员一般都使用getXXX和setXXX函数,这里再次强调不要在getXXX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论