一 访问对象的成员有3种方法
- 通过对象名和成员运算符访问对象中的成员;
- 通过指向对象的指针访问对象中的成员;
- 通过对象的引用访问对象的成员;
1.通过对象名和成员运算符访问对象中的成员
stud1.num = 1001;// 假设num已定义为类对象stud1的公用的整型数据成员;
表示将整数1001赋给对象stud1中的数据成员num。
其中'.'是成员运算符,用来对成员进行限定,指明所访问的是哪一个对象的成员。
对象名.成员名
不仅可以在类外引用对象的公用数据成员,而且还能调用对象的公用成员函数,但同样必须指出对象名。如:
stud1.display();//调用对象stud1的公用成员函数。
在类外只能访问public成员,而不能访问private成员。
类外只能调用公用的成员函数。在一个类中应当至少有一个公用的成员函数,作为对外的接口,否则就无法对象进行任何操作。
2.通过指向对象的指针访问对象中的成员
class Time{
public: //数据成员是公用的
int hour;
int minute;
};
Time t,*p; //定义对象t和指针变量p
p = &t; //使p指向对象t
cout<< p->hour; //输出p指向的对象中的成员hour
p->hour表示p当前指向的对象t中的成员hour,(*p).hour也是对象t中的成员hour,因为(*p)就是对象t。在p指向t的前提下,p->hour,(*p).hour和t.hour三者等价。
3通过对象的引用来访问对象中的成员
Time t1; //定义对象t1
Time &t2 = t1; //定义Time类引用t2,并使之初始化为t1
cout << t2.hour; //输出对象t1中的成员hour
*****
t2指向t1的存储单元(t2是t1的别名);