C++new出来的类.他的成员变量时在堆还是栈,该怎么解决

C++new出来的类.他的成员变量时在堆还是栈
class A
{
public:
int a;
protected:
private:
};
我new了一个A
那么A中的a是在堆还是栈
如果a是在堆 那么我怎么释放他呀??????????????????????????

------解决方案--------------------
堆。。。怎么new就怎么delete
------解决方案--------------------
obj = new A其实就是在堆上分配一段sizeof(A)的空间,然后调用A的构造函数。
obj.a是这段空间中的一部分,自然也在堆上。不过你不能去释放obj.a,而应该释放obj,这会把包含obj.a地址在内的空间都释放。就像你不能int a = new int[3]; delete a[1]一样。
------解决方案--------------------
探讨
obj = new A其实就是在堆上分配一段sizeof(A)的空间,然后调用A的构造函数。
obj.a是这段空间中的一部分,自然也在堆上。不过你不能去释放obj.a,而应该释放obj,这会把包含obj.a地址在内的空间都释放。就像你不能int a = new int[3]; delete a[1]一样。

------解决方案--------------------
整个对象都在堆中
对象的成员变量也在堆中
delete 对象
不要delete 对象.成员