由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个object suicide问题
相关主题
[合集] 请教一个c++ 中 delete [] 的问题请教一个C++有关的编译问题
弱问一下c++里 weak_ptr用起来是不是耗时间?
问一下这个cast在java里是怎么work的C++ delete[]
问个C++中重复删除指针的问题C++ virtual function 定义在 derived class 会怎么样?
为什么derived object没有vptr?问个c++指针问题
c++ dynamic cast问个C++多重继承问题
C++ Primer 上关于inheritance protected member 的一段话也问个template 的问题(C++)
请教一个python OOP 实现的问题问个设计模式的问题吧,STL里面
相关话题的讨论汇总
话题: derived话题: object话题: deleted话题: base话题: public
进入Programming版参与讨论
1 (共1页)
b***y
发帖数: 2799
1
class base
{
public:
f(void) { delete this; }
};
class derived : public base
{
};
int main()
{
derived D = new derived();
D->f();
}
which object is deleted?
d******n
发帖数: 42
2
I thought "this" is a constant pointer. so, can this be deleted? maybe you
will get a compiler error.
s***e
发帖数: 122
3
first, in your main function, you should make the derived object with new
operator, such as:
derived * pD = new derived();
pD->f();
and then, the base part of the object is deleted. And that's why you should
put a virtual destructor in base, in that case the whole object is deleted.

【在 b***y 的大作中提到】
: class base
: {
: public:
: f(void) { delete this; }
: };
: class derived : public base
: {
: };
: int main()
: {

1 (共1页)
进入Programming版参与讨论
相关主题
问个设计模式的问题吧,STL里面为什么derived object没有vptr?
问个Python的问题c++ dynamic cast
问个基本的design问题C++ Primer 上关于inheritance protected member 的一段话
问个无厘头问题请教一个python OOP 实现的问题
[合集] 请教一个c++ 中 delete [] 的问题请教一个C++有关的编译问题
弱问一下c++里 weak_ptr用起来是不是耗时间?
问一下这个cast在java里是怎么work的C++ delete[]
问个C++中重复删除指针的问题C++ virtual function 定义在 derived class 会怎么样?
相关话题的讨论汇总
话题: derived话题: object话题: deleted话题: base话题: public