这是我开通博客的原因;虽然不是什么大问题;关于指针与对象(C++)
来源:互联网 发布:uvw平台对位算法教程 编辑:程序博客网 时间:2024/04/29 17:35
现在我还是一个本科大二的学生,前些阵子写作业的时候遇到了这个问题,花了很久才解决的,对于大神这一定就是神经回路里面的应有内容,不过我还是决定把这个作为我博客的第一条。
内容就是:
#include <iostream>using namespace std;class Point{public: int X; Point(){ X=20; cout<<"constructor"<<endl; } Point(int xx){ X=xx; cout<<"constructor 2"<<endl; } Point(Point &p){ X=p.X; cout<<"constructor 3"<<endl; }};class A{public: Point *po=new Point;};int main(){ cout<<endl<<"A demo:"<<endl; A demo; //声明一个类,会执行构造函数 cout<<endl<<"A* demo2:"<<endl; A * demo2; //声明一个指向类的指针,不会执行构造函数 cout<<endl<<"Point demo3:"<<endl; Point demo3; //声明一个类,会执行构造函数 cout<<endl<<"Point * demo4(demo.po):"<<endl; Point * demo4(demo.po); //声明一个指向类的指针,不会执行构造函数 cout<<endl<<"Point demo6(30):"<<endl; Point demo5(30); //声明对象时用一般构造函数,则只执行一般构造函数 cout<<endl<<"Point demo5(*demo4):"<<endl; Point demo6(*demo4); //声明对象时用复制构造函数,则只执行复制构造函数 cout<<endl<<"Point *demo7 = new Point:"<<endl; Point *demo7 = new Point; //声明指针的时候用这种形式才会有对象,从而调用构造函数 return 0;}
上面的代码执行效果如下
当时写的一个数据结构里面BST的应用,试了很久,BST根本不能起作用,后来研究了很久,才发现,在BST的public里面我的所有成员变量都是指针形式,所以我就全部替换成了BSTNode *A = new BSTNode,这样我才成功地调用了构造函数,写完了作业,这个错误耽误了我一个星期的时间,其间每天起早贪黑。。。现在我很伤心。。。
0 0
- 这是我开通博客的原因;虽然不是什么大问题;关于指针与对象(C++)
- 这是一个关于版本更新的ScrollView 的创建(虽然我也没看懂)
- 开通博客,这是我奋斗的第一步
- hello,word 这是我开通博客的第一天
- 开通博客的原因
- 我的博客开通!
- 我的博客开通
- 开通我的博客
- 开通我的博客
- 开通我的博客
- 开通我的博客
- 开通此博客的原因?
- 开通此博客的原因
- 不是 我 的原因
- 今天是我开通博客的第一天!
- 今天是五四青年节,我的博客开通啦!
- 这是博客开通的时刻
- 关于博客的开通
- linux ubantu nodeJs 安装
- Python文本处理工具——TextRank
- Acdream 1420 High Speed Trains(大数 + 容斥原理)
- Linux中vi显示中文乱码的问题
- GitHub
- 这是我开通博客的原因;虽然不是什么大问题;关于指针与对象(C++)
- opencv 颜色识别
- TreeMap的讲解
- 主键和外键约束
- 抛开spark-submit脚本提交spark程序
- Google File System(中文翻译)(转载)
- WIFI vs 无线网
- C++ STL map的使用
- Android的LinearLayout源码分析