这里实现部分被省略了。 成员函数的作用:
1.操作数据成员,包括访问和修改数据成员; 2.协同不同的对象操作,称为传递消息。
5.1.3 定义类时注意事项
1.在类体内不允许对数据成员初始化。 class TDate { public:
void SetDate(int y,int m int d); int IsLeapYear( ); void Print( ); private:
int year(2004),month(9),day(29); };
2.类中数据成员的类型是任意的。
整形、实型、字符型、数组、指针、引用和类类型等。另一个类的对象,可以作该类的成员,但自身类的对象不行。
例1:
class student
{ public:
??
private:
long code;
char name[10];
TDate birthday; // char *address; char phone[20]; }; 例2:
class N; //class M { public: ?? private:
class N n; //n };
class N { public:
void f(M n); //m ?? };
类类型成员 类说明 是N的对象 是M类的对象 3.经常习惯地将类定义的说明部分或整个类的定义放到一个头文件中。 例如,定义一个点类,放在tpoint.h文件中。
class Tpoint { public:
void SetPoint(int x,int y); int Xcoord( ) {return X;} int Ycoord( ) {return Y;}
void Move(int xoffset,int yoffset); private: int X,Y; };
void Tpoint::SetPoint(int x,int y) { X=x; Y=y; }
void Tpoint::Move(int xoffset,int yoffset) { X+=xoffset; Y+=yoffset; }
5.2 对象的定义
对象是类的实例。对象是属于某个已知的类。
5.2.1 对象的定义格式
定义格式: 类名 对象名 例如:
TDate date1,date2,*p,date[10]; Tpoint p1,p2,*p,&d=p1;
5.2.2 对象成员的表示方法
对象成员 数据成员 成员函数 对象数据成员的表示: 对象名.成员名 例如:
date1.year, date1.month, date1.day 对象函数成员的表示: 对象名.成员名(参数表)
例如:
date1.SetDate(2004,9,28) 其中“ .”是一个运算符。
指向对象的指针的成员: 对象指针名->成员名 例如:
Pdate->year 或者:
对象指针名->成员名(参数表) 例如:
Pdate-> SetDate(2004,9,28)
下面两种表示相同: 对象指针名->成员名 *对象指针名.成员名 例如:
Pdate->year *Pdate.year