2、定义。二者一般分开定义。类的一般定义格式如下: class <类名> { public: <成员函数或数据成员的说明> private: <数据成员或成员函数的说明> }; <各个成员函数的实现>class是定义类的关键字。关键字public,private,protected被称为访问权限修饰符。它们在类体内出现的先后顺序无关,并且允许多次出现。<各个成员函数的实现>是类定义中的实现部分,包含所有
3、在类体内说明的函数的定义。允许一个成员函数的类体内定义。一个日期类定义的例子://类的说明部分class TDate { public: void SetDate(int y, int m, int d); void Print();private: int year, month, day; };其中public部分可被对象访问,private(或protected)部分不可被对象访问。//类的实现部分 void
4、TDate::SetDate(int y, int m, int d) { year = y; month = m; day = d; } void TDate::Print(); { cout<
5、类一定是通过定义它的对象(实例化)来使用的。voidmain(){TDateToday;Today.SetDate(2008, 8, 8);Today. Print();}构造函数和析构函数在类中,函数名和类名相同的函数称为构造函数,在定义对象时自动执行。函数名为~类名的函数称为析构函数,在释放对象时自动执行。class TDate { public:void TDate(); void SetDate(int y, int m, int d);
6、void Print();void ~TDate();private: int year, month, day; };void TDate::TDate() { year = 2009; month = 4; day = 1; }void ~TDate::TDate() {}当执行TDateToday;时,Today就会初始化为2009.4.1。在类中,构造函数和析构函数是必须的。如果不定义,系统会自动生成
7、构造和析构空函数。构造函数用来做初始化,析构函数一般用来做收尾工作。构造函数可以带参数。class TDate { public:void TDate(int y, int m, int d); void Print();void ~TDate();private: int year, month, day; };void TDate::TDate( inty, int m, int d) { year = y;
8、 month = m; day = d; }定义对象时:TDateToday(2009,4,1);继承类的继承性就是子类自动共享父类的数据和方法的机制,表示类之间的关系。定义子类的语法如下:class<子类名>:<继承方式><父类名>{…...}其中继承方式为public,private或protected。public继承protected继承private继承publicpublicpublicpro