我们已经知道,对象是类的实例。对象是属于某个已知的类。因此,定义对象之前,一定要先定义好该对象的类。下面简单的介绍对象的定义。
对象的定义格式
对象在确定了它的类以后,其定义格式如下:
<类名><对象名表>
其中,<类名>是待定的对象所属的类的名字,即所定义的对象是该类类型的对象。<对象名表>中可以有一个或多个对象名,多个对象名时用逗号分隔。<对象名表>中,可以是一般的对象名,还可以是指向对象的指针名或引用名,也可以是对象数组名。如:
TDate date1, date2, *Pdate, date[31];
对象成员的表示方法
一个对象的成员就是该对象的类所定义的成员。对象成员有数据成员和成员函数,其表示方式如下:
<对象名>.<成员名>
或者
<对象名>.<成员名>(<参数表>)
前者用来表示数据成员的,后者用来表示成员函数的。如:
date1.year, date1.month, date1.day;
date1.SetDate(int y, int m, int d);
这里,·是一个运算符,该运算符的功能是表示对象的成员。
指向对象的指针的成员表示如下:
<对象指针名>-><成员名>
或者
<对象指针名>-><成员名>(<参数表>)
这里的->是一个表示成员的运算符,它与前面讲过的·运算符的区别是,->用来表示指向对象的指针的成员,而·用来表示一般对象的成员。同样,前者表示数据成员,而后才表示成员函数。
下面的两种表示是等价的:
<对象指针名>-><成员名>
与
(*<对象指针名>).<成员名>
这对于成员函数也适用。如:
Pdate->year, Pdate->month, Pdate->day;
或者
(*Pdate).year, (*Pdate).month, (*Pdate).day;
Pdate->SetDate(int y, int m, int d);
或者
(*Pdate).SetDate(int y, int m, int d);
另外,引用对象的成员表示与一般对象的成员表示相同。
由同一个类所创建的对象的数据结构是相同的,类中的成员函数是共享的。两个不同的对象的名字是不同的,它们的数据结构的内容(即数据成员的值)是不同的。因此,系统对已定义的对象仅给它们分配数据成员变量,而一般数据成员又都为私有成员,不同对象的数据成员的值可以是不相同的。