关于一个类中使用自己(类对象或类指针)
2014-09-05 13:32
309 查看
关于定义类时能不能用自己的类对象
class A
{
void A()
{
}
void ~A()
{
}
void f()
{
}
3. void f1(A a) //正常
{
......
}
}
第一种在构造函数中new对象
class A
{
void A()
{
1. A a= new A();//会溢出
}
void ~A()
{
}
void f()
{
2. A a = new A(); //正常
}
3. void f1(A a) //正常
{
......
}
}
第一种在构造函数中new对象
这个是对类的一个定义,此时,A只是一个“概念”,在电脑里并没有实体存在 这句话,编译期是正确的,不存在错误,所以可以声明也可以实例化。 但是到了运行期,真正的跑起来的时候,它是错误的 因为这是个迭代的死循环。 在new A()的时候,又会执行一遍A a= new A(); 然后该new A()又执行一遍A a= new A(); 如此往复,直到堆栈溢出。
第二种在函数中new对象
这种情况下是正常的,在外部正常调用即可。
“类”只是一段代码,在没通过编译时还谈不上什么“内存分配”“调用”...就算编译完成也还谈不上什么“内存分配”“调用”,只有在运行时才有这些概念...另外,引用类型对象的声明只是个占位符,直到实例化时才会有内存分配,方法只有在被调用时才会有执行过程,引用类型参数传递的只是个引用的副本或引用而不是堆内存...
相关文章推荐
- 关于form使用form.submit()提交的一个问题,提示form.submit不是对象的方法属性
- 对象数组的使用及this指针(自己改的,虽然只是一小点,但是还是有成就感)
- C++ 关于在一个类中定义另一个类的指针与对象
- MVC为Html对象建立一个扩展方法,使用自己的控件就像使用TextBox一样方便
- 终于发现自己存在的一个问题:关于用不用VC创建对象的问题
- 关于Scroller的使用以及自己实现一个侧滑菜单
- 关于Objective-C 对象release操作野指针的一个小问题探讨
- 关于Scroller的使用以及自己实现一个侧滑菜单
- 一个关于的指针的经典笔试题目,加上自己的一点体会
- 一个关于指针+记录数据类型的使用技巧
- _variant_t(IDispatch* pSrc, bool fAddRef) 使用一个COM组件的指针构造一个_variant_t类型的对象
- 关于二级指针的使用测试小例子,仅供测试--参数传递的时候用指针最好,因为压栈的时候指针,只是压入一个地址的值,最多4个字节(32位机上),提供的3个测试例子,基于VC6.0的环境。
- 关于类的指针对象和普通对象由于使用错误造成莫名报错
- 记一个关于C语言函数指针使用的小例子
- 关于在用异步消息处理机制使用Message.Obtain()方法(而非New Message)获得一个Message对象的好处
- JS +XML +Jquery 实现三级联动菜单,自己封装的一个对象方便使用
- MVC为Html对象建立一个扩展方法,使用自己的控件就像使用TextBox一样方便
- 尝试有关对象指针的使用方法,里面有自己加的知识,更深入了解了
- 自己关于指针在函数中使用的理解和总结
- 关于如何将一个对象保存到本地文件之ObjectOutputStream、ObjectInputStream的使用小结。