类 是一组性质相同对象的程序描述。在C++中声明类的一般形式为:
class 类名
{
prinvate;
私有数据和函数
public;
公有数据和函数
protected;
保护数据和函数。
};
类的声明是以关键字class开始的。后面跟着类名。注意其后面的分号不能缺少。
例:
类的声明:
class Time
{
private:
int hour;
int minute;
int second;
public:
void setHour(int _h);
int getHour();
void setMinute(int _m);
int getMinute();
void setSecond(int _s);
int getSecond();
//类的方法。
#include "Time.h"
voidTime:: setHour(int _h)// ::作用域。
{
hour=_h;
this->hour=_h;//这两句话是等效。
}
intTime:: getHour()
{
return hour;
}
voidTime:: setMinute(int _m)
{
minute=_m;
}
intTime:: getMinute()
{
return minute;
}
voidTime:: setSecond(int _s)
{
second=_s;
}
intTime:: getSecond()
{
return second;
}
#include <iostream>
#include "Time.h"
using namespace std;
//主函数。
int main(int argc,const char * argv[])
{
//std是命名空间, cout是对象。没有格式控制字符。
//endl相当于\n
std::cout <<"Hello, World! \n"<<10<<endl;
Time time;//对象是放在栈上的。
time.setHour(10);
time.setMinute(20);
time.setSecond(30);
cout<<time.getHour()<<":"<<time.getMinute()<<":"<<time.getSecond()<<endl;
private:私有成员,只能在类中的被访问,在类外不能访问私有成员。(默认是私有的)
public:公有成员,在类中和类外都能被访问,通常将成员函数定义为公有的,用于提供对类外访问类中私有成员的接口
protected:保护成员,具有公有和私有的共同特性,即保护成员只能被类内和派生类中成员访问,在类外不允许被访问。
<成员函数的实现>
成员函数有两种实现方式;
1在类中声明并实现。
一般在类中定义的成员函数都是规模比较小的函数,一般语句会在1~5句之间,
2在类中声明在类外实现。
在一些大项目中,一般成员函数的规模都非常大,直接把它们定义和实现全放在类定义中使用起来很不方便,且对程序的可读性较差。所以为了有效地提高类的使用和可读性,c++允许在其它的地方实现成员函数。
类声明的定义通常写在头文件中(.h文件)
类的实现文件,通常写在.cpp中。
class timeClass
{
private:
int m_Second;
int m_Minute;
int m_Hour;
public:
void setTime(int _second,int _minute, int _Hour)//在类内实现的。
{
m_Second = _second;
m_Minute = _minute;
m_Hour = _Hour;
}
void PrintTime()
{
cout<<m_Hour<<":"<<m_Minute<<":"<<m_Second<<endl;
}
};