加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

普通C++类的写法

(2010-10-02 10:42:13)
标签:

c

面向对象

类的用法

类的写法

一般格式

分类: IT技术

    对于初学C++的学生而言,最难的知识不是C++繁杂的语法,而是接触到类的学习后不知类的设计和写法如何规范,往往把一大堆函数或数据塞到一个class的两个大括号中就认为类搞定了,其实普通类的写法远不只如此,而是有着一定之规,学习者必须要从一开始就养成良好的设计和编写习惯才能在将来的学习中走的更快更远。下面是一个非常简单的Time类的写法,请注意规范和注释讲解:

 

//----------------------------------------------------------------

//文件名:time.h

//功能:声明Time类

//----------------------------------------------------------------

#ifndef TIME_H
#define TIME_H

class Time
{
public:
 //所有参数都带有默认值的构造函数,同时也是默认构造函数
 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 <iostream>
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 <iostream>

#include "time.h"

int 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函数里直接使用cout输出数据,而是要使用return将数据作为getXXX函数的返回值。至于类的使用方法,我已经举了两个使用的例子,请认真阅读示例代码即可。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有