对象数组和对象指针
来源:互联网 发布:mysql count 性能优化 编辑:程序博客网 时间:2024/05/24 16:15
一:对象数组
类也是自定义的一种数据类型,当需要在一个类下创建多个对象时,可以采用对象数组的方法,具体格式: 类名 对象名[常数]。
下面是是一段测试程序,并通过构造函数把对象数组均初始化。
#include<iostream>using namespace std;class zuobiao { private: int x; int y; public: void show_xy() { cout<<"坐标为:"<<"("<<x<<","<<y<<")"<<endl; } zuobiao(int a=5,int b=5);};zuobiao::zuobiao(int a,int b){ x=a; y=b; cout<<"构造函数被调用"<<endl;}int main(){ zuobiao p[5]; for(int i=0;i<5;i++) { p[i].show_xy(); } return 0;}
从图中可以看出,在定义对象数组的时候自动调用构造函数进行初始化,而且按照上面的显示,共调用了5次,说明对象数组构造了5次。
二:对象指针
对象指针和普通指针一样,即可以指向单个对象成员(这里要用取地址符),也可指向对象数组(这里不用取地址符,原因和普通型变量是一样的:数组名称本身就是一个指针。)
通过指针调用成员函数时格式为: 指针名->函数名
下面是测试程序。
#include<iostream>using namespace std;class zuobiao { private: int x; int y; public: void show_xy() { cout<<"坐标为:"<<"("<<x<<","<<y<<")"<<endl; } void set_xy(int a,int b) {x=a;y=b; cout<<"坐标设置已调用"<<endl; }};int main(){ zuobiao p[5]; zuobiao *px=p; for(int i=0;i<5;i++) { p[i].set_xy(i,i+1); px->show_xy(); px++; } return 0;}
思路就是把对象看做是一种数据类型(事实也如此),和普通数据类型的数组和指针的概念联系起来,访问和调用方法是基本一样的。
//------------this指针-------------
this指针时和对象有关的一种特殊指针,成员函数通过这个指针可以知道自己属于哪一个对象,也就是说每一个成员函数都有一个this指针,this指针指向改函数所属的类的对象。因此,成员函数访问数据成员的格式可以写为: this->数据成员。
对于调用某个对象的成员函数(这一类的函数都长的一样),便是通过把成员函数的指针指向当前对象来访问到当前对象的数据成员,但是一般写程序的时候都默认不写出这个指针,默认和写出是相同的。
比如:上面的设置坐标的函数也可以写为:
void set_xy(int a,int b) {this->x=a; this->y=b; cout<<"坐标设置已调用"<<endl; }
效果都是相同的。
0 0
- 对象数组和对象指针
- 对象数组和对象指针
- 对象数组和对象指针
- C++之对象数组和对象指针
- C++---对象数组和对象指针
- this指针和对象数组
- 使用对象数组和指针
- 对象数组,对象指针
- 数组、指针和字符串:对象指针
- 三十一、数组、指针和字符串:对象指针
- 析构函数和对象数组和对象指针
- c++的this指针和对象数组
- c++对象数组和this指针
- 指针和对象的数组实现
- C++学习笔记(三)——对象数组的指针和对象指针的数组
- 【一天一篇CPP】对象与指针与数组 对象和const和指针和引用
- 类和对象的基础8——对象指针和对象数组
- 对象指针和对象引用
- Log4j 日志配置邮件实战
- IE浏览器没有网络
- Android 反编译教程
- Driver Test
- IDEA、PyCharm激活服务器地址
- 对象数组和对象指针
- HDU 6030 Happy Necklace[找规律][矩阵快速幂]
- POJ 3624 A
- java.util.UnknownFormatConversionException: Conversion = ',' 解决
- ConcurrentHashMap
- Keras-数据集介绍
- PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置
- PHP学习
- 帧动画功能 纯js控制css代码