类的指针和引用
来源:互联网 发布:关于室内设计的软件 编辑:程序博客网 时间:2024/05/16 05:16
C++是使用指针和引用最多的语言,其中的水有多深,只有开发者自己知道。本人菜鸟一枚,也是觉得这个坑太深,每次遇到他们就头疼不已,所以写个demo做个测试,把细节再挖一挖。代码如下:
#include <iostream>using namespace std;class myclass{public: int x; int y;public: myclass(int a, int b) :x(a), y(b) { } void printxy();};void myclass::printxy(){ cout << x << " " << y << endl;}myclass class1(10, 9);myclass class2(11, 12);//改变指针方向的两个方法void change1(myclass **pp)//方法1,传入二级指针{ *pp = &class1;}void change2(myclass *&pp)//方法2,传入引用的指针的地址{ pp = &class2;}void main(){ myclass *p = &class1; p->printxy(); change1(&p); p->printxy(); change2(p); p->printxy(); cin.get();}void mainA(){ //myclass *p = new myclass; myclass *p(new myclass(10, 9));//调用构造函数初始化 p->printxy(); myclass **pp = &p;//二级指针存储一级指针的地址 (*pp)->printxy();//一级类指针 (**pp).printxy();//0级类指针 cin.get();}
其中这一部分深刻揭示了类的指针的妙用 myclass **pp = &p;//二级指针存储一级指针的地址
(*pp)->printxy();//一级类指针
(**pp).printxy();//0级类指针
同时改变指针方向的方法有两个,就是下面两个函数
void change1(myclass **pp)//方法1,传入二级指针{ *pp = &class1;}void change2(myclass *&pp)//方法2,传入引用的指针的地址{ pp = &class2;}
main函数输出的结果如下:
0 0
- 类的指针和引用
- 指针和指针的引用
- 指针和指针的引用
- 指针,和指针的引用
- 指针和指针的引用
- 指针的指针和指针的引用
- 指针的指针和指针的引用
- 指针的指针和指针的引用
- 类对象的指针和引用
- 类对象的指针和引用
- 数组的引用和指针的引用
- [C++] 引用和指向指针的引用
- 引用&指针和引用&const的关系
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的比较
- 指针和引用的区别
- iOS UIView自定义四个边角的圆角
- Maven插件m2e相关扩展点
- Eclipse插件扩展点清单
- 关于敏捷开发的26个心得
- 非线性转化为线性规划的方法
- 类的指针和引用
- PHP 单例模式解析和实战
- C语言的数组
- Java 导入jar包方式
- 我的iOS开发之Objective-C第1天之NOlog以及BOOL
- 如何利用lib进行分类
- 字符串复制
- PHP中“简单工厂模式”实例讲解
- CSS hack