C++ 声明对象
classA A;
classA *A;
都可以声明对象,为什么我用classA声明一个对象A,不调用new classA()初始化也能使用classA的成员啊?这不是违背了面向对象的原则了吗?一个对象还没有初始化时不能使用的?
[解决办法]
一个对象没有初始化可以使用,不过里面都是一些随机值,没有意义!
[解决办法]
classA A; 声明对象,已分配内存 ..可以直接使用成员了
classA *A; 声明对象指针,没有分配空间
[解决办法]
第一种声明隐式调用了类的默认构造函数(即不需要实参或者显式实参的构造函数),所以已经初始化了
可以使用。
但第二个只是声明了一个指针,但未定义其指向哪里,所以不能使用,需要用new A()来获得一个明确的地址。
[解决办法]
声明隐式调用了类的默认构造函数
[解决办法]
来晚了:(
[解决办法]
上面的问题 跟C差不多的语法,只不过C++先进一点。。
[解决办法]