对象数组与指针+this指针
来源:互联网 发布:淘宝代理买吃的要证吗 编辑:程序博客网 时间:2024/05/22 15:29
对象数组:
建立对象数组的时候,如果有五十个元素就会调用五十个元素
在需要的时候可以在定义数组的时候进行初始化
当 :
构造函数只有一个参数的时候
student stu[3]={30,70,21};
多个参数的时候(注意逗号和分号)
student stu[3]={ student(110,25,15), student(22,5,4), student(45,65,7)};
#include<iostream>using namespace std;class box{private: int height,width,lenth;public: box(int a=10,int b=10,int c=10):height(a),width(b),lenth(c){} int volume();};int box::volume(){ return height*width*lenth;}int main(){ box a[3]={ box(12,5,14), box(55,54,4), box(7,9,1) }; cout<<"volume of a[0] is "<<a[0].volume()<<endl; cout<<"volume of a[1] is "<<a[1].volume()<<endl; cout<<"volume of a[2] is "<<a[2].volume()<<endl; return 0;}
对于指向对象成员就不多讲了,和c 的结构体类似
对于不常用的指向对象成员函数的指针稍微注意一下:
普通的函数指正变量定义方法:
类型名 (* 指针变量名)(参数列表)
例如:
void (*p)();
定义指向成员函数的指针变量:
指针变量名(类名::*指针变量名)(参数列表)
void (student::*p)();这里的括号一定不能省略,因为括号的优先级比 * 要高
如果没有的话相当于:
void (student::*(p2()));
这里表示返回值位void型的指针函数
定义之后当然是需要使用指向一个共有成员函数
指针变量名=&类名::成员函数名;
例如:(综合的例子)
void (student::*p3)()=&student::display;没有括号;
this指针
每一个对象数据成员都分别独自占有存储空间,方便存储每一个对象的成员数据的值,如果同时定义n个对象,就有n组同样大小的空间以存放n个对象数据成员
注意:
不同的对象都是调用同一个函数的目标代码
因此我们需要知道在每一个成员函数中都有一个特殊的指针
这个指针指引我们走向一个正确的存储地址,处理相应的对象的数据
0 0
- 对象数组与指针+this指针
- C++:对象数组与this指针
- this指针和对象数组
- c++的this指针和对象数组
- c++对象数组和this指针
- c++ this指针与const对象
- 指针:指针与数组
- 指针与指针数组
- 指针与对象指针
- 【Linux基础】对象数组与对象指针
- C++对象数组与对象指针
- 对象数组,对象指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- Bitmap的获取
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- 初始化PopupWindow Caused by: android.view.WindowManager$BadTokenException:
- Oracle游标使用全解
- thinkphp放到正式环境出现错误
- 对象数组与指针+this指针
- 死亡历险,Delphi以Json方式一次传递多张图片通过WebService到Java保存
- Java enum的用法详解
- javascript 从ueditor中学到的闭包知识
- [BZOJ1834][ZJOI2010]network 网络扩容(isap+费用流)
- Windows Server 2008 R2上部署ASP.NET MVC3.0应用网站程序
- 使用Powershell注销指定用户
- apt-get工作顺序
- Android View和ViewGroup事件分发机制源码分析