C++中使用句点运算符访问成员

C++中使用句点运算符访问成员

学过C语言的都知道 struct(结构体)创建出来的对象可以通过对象成员选择运算符(.)来访问C语言结构体内部成员。

一个人的例子是 Adam,男性, 1970 年出生于阿拉巴马州。 firstMan 是 Human 类的对象,是这个类存在于现实世界(运行阶段)的化身:

Human firstMan; // an instance i.e. object of Human

类声明表明, firstMan 有 dateOfBirth 等属性,可使用句点运算符( .)来访问:

firstMan.dateOfBirth = "1970";

这是因为从类声明表示的蓝图可知,属性 dateOfBirth 是类 Human 的一部分。仅当实例化了一个对象后,这个属性在现实世界(运行阶段)才存在。句点运算符( .)用于访问对象的属性。
这也适用于 IntroduceSelf( )等方法:

firstMan.IntroduceSelf();

如果有一个指针 firstWoman,它指向 Human 类的一个实例,则可使用指针运算符( ->)来访问成员(这将在下一小节介绍),也可使用间接运算符( *)来获取对象,再使用句点运算符来访问成员:

Human* firstWoman = new Human();
(*firstWoman).IntroduceSelf();  

例如在程序中可以写出以下语句:
stud1.num=1001; //假设num已定义为公用的整型数据成员
表示将整数1001赋给对象stud1中的数据成员num。其中“.”是成员运算符,用来对成员进行限定,指明所访问的是哪一个对象中的成员。 注意不能只写成员名而忽略对象名。
访问对象中成员的一般形式为
对象名.成员名
不仅可以在类外引用对象的公用数据成员,而且还可以调用对象的公用成员函数,但同样必须指出对象名,如
stud1.display( );//正确,调用对象stud1的公用成员函数
display( );//错误,没有指明是哪一个对象的display函数
由于没有指明对象名,编译时把display作为普通函数处理。 应该注意所访问的成员是公用的(public )还是私有的(private )。只能访问public成员,而不能访问private成员, 如果已定义num为私有数据成员,下面的语句是错误的:
stud1.num=10101;//num是私有数据成员,不能被外界引用
在类外只能调用公用的成员函数。在一个类中应当至少有一个公用的成员函数,作为对外的接口,否则就无法对对象进行任何操作。

命名约定:

对于类名和成员函数名,采用 Pascal 拼写法,
如 IntroduceSelf(),而对于成员属性,采用骆驼拼写法,如 dateOfBirth。
实例化对象时,我们声明一个类型为相应类的变量。因此,对于对象名,我们采用前面
一直用于变量名的骆驼拼写法,如 firstMan。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值