C++ 引用对象成员的三种方式
来源:互联网 发布:豆豆软件下载 编辑:程序博客网 时间:2024/05/29 07:43
在程序中经常需要访问对象中的成员。访问对象中的成员可以有3种方法:
1.通过对象名和成员运算符访问对象中的成员;
2.通过指向对象的指针访问对象中的成员;
3.通过对象的引用变量访问对象中的成员。
通过对象名和成员运算符访问对象中的成员
例如在程序中可以写出以下语句:
stud1.num=1001; //假设num已定义为公用的整型数据成员
表示将整数1001赋给对象stud1中的数据成员num。其中“.”是成员运算符,用来对成员进行限定,指明所访问的是哪一个对象中的成员。注意不能只写成员名而忽略对象名。
访问对象中成员的一般形式为:
对象名.成员名
不仅可以在类外引用对象的公用数据成员,而且还可以调用对象的公用成员函数,但同样必须指出对象名,如:
stud1.display( ); //正确,调用对象stud1的公用成员函数
display( ); //错误,没有指明是哪一个对象的display函数
由于没有指明对象名,编译时把display作为普通函数处理。应该注意所访问的成员是公用的(public )还是私有的(private ),只能访问public成员,而不能访问private成员。如果已定义num为私有数据成员,下面的语句是错误的:
stud1.num=10101; //num是私有数据成员,不能被外界引用
在类外只能调用公用的成员函数。在一个类中应当至少有一个公用的成员函数,作为对外的接口,否则就无法对对象进行任何操作。
通过指向对象的指针访问对象中的成员
指向结构体变量的指针可以通过指针引用结构体中的成员。用指针访问对象中的成员的方法与此类似。如果有以下程序段:
class Time
{
public : //数据成员是公用的
int hour;
int minute;
};
Time t, *p; //定义对象t和指针变量p
p=&t; //使p指向对象t
cout<<p->hour; //输出p指向的对象中的成员hour
在p指向t的前提下,p->hour,(*p).hour和t.hour三者等价。
通过对象的引用变量来访问对象中的成员
如果为一个对象定义了一个引用变量,它们是共占同一段存储单元的,实际上它们是同一个对象,只是用不同的名字表示而已。因此完全可以通过引用变量来访问对象中的成员。
如果已声明了Time类,并有以下定义语句:
Time t1; //定义对象t1
Time &t2=t1; //定义Time类引用变量t2,并使之初始化为t1
cout<<t2.hour; //输出对象t1中的成员hour
由于t2与t1共占同一段存储单元(即t2是t1的别名),因此t2.hour就是t1.hour。
- C++ 引用对象成员的三种方式
- C++ 引用对象成员的三种方式
- 对象成员的引用
- 对象成员的引用
- C中对于结构体成员的两种引用方式适用场合的区别
- c++中经常需要访问对象中的成员的三种方式
- 结构体变量成员的引用(两种方式)
- 引用CSS的三种方式
- 引用CSS的三种方式
- Python引用计数的三种方式
- CSS的三种引用方式
- 对象的四种引用方式
- C++成员函数返回对象的引用
- C++ 之对象成员的引用
- 第五讲:类的成员、对象成员的引用
- 第五讲:类的成员、对象成员的引用
- 第二周 项目一 C/C++语言中函数参数传递的三种方式(三):.引用传递
- 数据结构第二周项目1--C/C++语言中函数传递的三种方式之方法三引用作形参
- 【nginx源码学习与运用 七】基数树结构ngx_radix_tree_t
- Java Socket & Java NIO 编程解析
- android APP集成系统详细步骤及注意事项(amlogic平台)
- SNMP协议详解
- 浅析浏览器渲染页面过程
- C++ 引用对象成员的三种方式
- php设计模式-工厂模式
- C++运算符重载(五)
- Android ActionBar
- Linux驱动学习之路一
- Ubuntu桌面启动器设置
- Java浮点数的精确计算及表示
- spring mvc
- HTTPS证书问题 iOS