MyException - 我的异常网
当前位置:我的异常网» C++ » 众大神:帮忙回答友元类私有成员变量m_data怎么开辟

众大神:帮忙回答友元类私有成员变量m_data怎么开辟内存空间的

www.MyException.Cn  网友分享于:2013-02-16  浏览:3次
众大神:帮忙回答友元类私有成员变量m_data如何开辟内存空间的?
template<typename Type>class SingleList
{public: SingleList():head(new ListNode<Type>()) { }
ListNode<Type> *head;这个类仅显示构造函数跟变量。
他的友元类为:
template<typename Type>class SingleList;
template<typename Type>class ListNode
{private: friend typename SingleList<Type>;
public: ListNode():m_pnext(NULL) { }
private: Type m_data; 
ListNode *m_pnext;这个类仅显示构造函数跟变量。
这主程序中我声明一个对象SingleList<int> list;
现在问题是:在成功创建SingleList对象时,ListNode类中的m_data变量如何获得内存空间,此程序,我已调试多次,当创建变量时,只在以上两个类的构造函数中运行,但是并没有代码给m_data分配内存,所以有点糊涂到底是如何获得内存的,请各位大神帮忙回答,谢谢。
类的私有成员变量 友元类 分配内存

------解决方案--------------------
引用:
如果A m_a构造函数什么都没有做的话,私有成员a,b,c.分配内存吗? 


当然分配内存,因为内存在调用构造函数之前已经分配好了,只是它们的值是随机的,需要在构造函数里进行初始化,赋一个确定的值。

如果构造函数什么也不做,内存还是有的,但是后果不确定,所以最好在构造函数里将每个值初始化。这与分配内存没有关系。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有