首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

相关构造函数的疑问

2012-10-25 
有关构造函数的疑问各位大侠,请教下为什么定义普通对象会自动调用其构造函数,而定义指针对象却没默认调用

有关构造函数的疑问
各位大侠,请教下为什么定义普通对象会自动调用其构造函数,而定义指针对象却没默认调用其构造函数呢?
例如定义类class A;
若定义A a后,会自动调用构造函数。
若定义A *a后,不会调用构造函数。

[解决办法]
得new出来才行

A*a=new A();
[解决办法]
指针只表示一个地址;类的对象表示一个实例,是要根据类的成员分配内存的
[解决办法]
创建对象实例才会调用类的构造函数,创建指针还需要做初始化new完之后才能创建实例调用到构造函数
[解决办法]
A *a 后只是定义了一个指针是指向A类型的,

而在new后,相当于是在堆里创建了一个匿名对象,然后让这个指针指向他。

这个构造函数是那个匿名对象创建的,指针只负责指向

热点排行