C++对象指针-指向对象的指针

1 对象指针

       学习C语言的时候,我们已经学习了指针的相关知识。例如:

int a;

int* pa = &a;

       此时,我们定义一个int类型的变量a,同时,定义一个int类型的指针变量pa,并把变量a的地址赋给指针变量pa,那么,指针变量pa就指向了变量a。

       同样的道理,C++定义的类,就是一个有效的数据类型,如同int, float, double这样的数据类型。所以,可以定义C++类对象的指针变量,与C语言中定义int, float, struct结构体等类型的指针变量一样。

1.1 指向对象的指针

       在建立对象的时候,编译系统会为每一个对象分配一个存储空间,用来存放对象的成员。可以定义一个指针变量,用来存放对象的地址。如下是一个测试例子:

       程序运行结果如下:

       在这个例子中,定义了一个student类对象,如下:

student stud("wkf","www.mylinux.vip",13926572996);  //定义对象

       然后,定义一个student类型的指针对象,如下:

student* ps;

       此时,ps是一个指针对象,它可以指向一个student类型的对象。所以,可以把stud对象的地址赋给指针对象ps,如下:

ps = &stud;

       最终,指针对象ps指向stud对象。然后,通过指针对象ps调用print()函数,就是调用

stud对象的print()函数。所以,输出的是stud对象的信息。

       定义指向类对象的指针变量的一般形式为:

类名 *对象指针名;

可以通过对象指针访问对象和成员的函数,如:

*ps     //使用*号运算符对指针对象ps降级,获取指针对象ps指向的对象。即stud对象;

(*ps).name  //获取ps指向stud对象的name成员,即stud.name成员;

ps->name        //通过指针ps访问所指向的stud对象的name成员,即stud.name成员;

(*ps).print();  //使用*号运算符对指针对象ps降级,获取指针对象ps指向的对象。即stud对象,相应调用stud.print()函数,就是通过stud对象调用。

ps->print();    //通过指针ps访问所指向的stud对象的print()函数,相当于stud.print()调用;

       所以,通过类指针对象访问成员变量和成员函数,访问的方式与C语言的struct结构体一样。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦凯峰Linux编程学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值