我有一个关于课程的简单问题。
考虑以下对象 Apple(删除了默认构造函数)。
class Apple
{
private:
bool _fruit;
public:
Apple(bool fruit) : _fruit(fruit) { }
};
现在在堆栈/堆上声明它。
Apple p(true);
Apple * o = new Apple(true);
好吧,貌似第二个是指针,意思是我不用直接声明。
我可以做Apple * o; 并稍后将其构造为o = new Apple(true);
但是在堆栈上呢?声明苹果 p; 会给我一个编译错误。
以后如何构造 p 而不必直接在定义上这样做?非常感激。