Redian新闻
>
劝你们不要用chrome或者safari
avatar
劝你们不要用chrome或者safari# Apple - 家有苹果
w*p
1
【 以下文字转载自 Programming 讨论区 】
发信人: whitetulip (白色郁丁香), 信区: Programming
标 题: 问关于C++Destructor的问题
关键字: 'base class' 'destructor' 'case' 'assignment'
发信站: BBS 未名空间站 (Sat Nov 7 01:06:59 2009, 美东)
#include
using namespace std;
class Base
{
public:
Base(){ cout<~Base(){ cout<};
class Derived: public Base
{
//Doing a lot of jobs by extending the functionality
public:
Derived(){ cout<~Derived()
avatar
x*s
2
演小东北那个要火啊,
看的枪版,效果嘛嘛,剧情挺逗
延续宁浩风格
avatar
a*a
3
基本上通不过验证
怀疑是reponse timer设的太小
avatar
a*s
4
我最近缺包子, 所以有兴趣, 2个包子一条, 总共16个包子吧?
avatar
a*3
5
记下先
avatar
y*l
6
ie9 does not work 2

【在 a****a 的大作中提到】
: 基本上通不过验证
: 怀疑是reponse timer设的太小

avatar
i*h
7
非大牛,试着答一下。这题主要是要考非virtual destructor。
g点在这句
Var2 = (Base) *Var;
声明了*Var 是Base的,destructor又不是virtual,所以先要调用
Destructor : Base //4
然后调用其实际类型的destructor。
Destructor : Derived //5
从而又调用了一次Base的destructor
Destructor : Base //6
最后一行就不需要解释了。
avatar
B*e
8
演的还不错。但是剧情太不行啊。
就不剧透了,就是评论一下。编剧始终是国产片的软肋。感觉编剧编着编着就不知道该
怎么编了。一会儿想抖几个包袱,吸引观众。一会儿又想正经一把,升华一下剧情。实
在不知道怎么编了就从别的电影里找些桥段凑合一下。感觉就是一边拍一边写凑合出来
的,所以看起来就是支离破碎、虎头蛇尾的。
avatar
g*x
9
opera也不work
别听那人扯淡
avatar
a*s
10
int main()
{
Derived *Var = new Derived();
>>>> 这个语句, 分别调用基类和派生类的构造函数, 于是
>>>> Constructor: Base //1
>>>> Constructor: Derived //2
Base Var2;
>>>> 这个语句, 调用基类构造函数, 于是
>>>> Constructor: Base //3
Var2 = (Base) *Var;
>>>> 这个语句有一丝丝复杂, 等号右边产生一个临时Base类型的变量,
>>>> 调用Base类的"拷贝构造函数" Base(const Base&), 但是
>>>> 这个你没有定义, 所以什么都没有打印出来
>>>> 临时变量消灭的时候, 调用析构函数, 于是:
Destructor : Base //4
delete Var;
>>>> 这个比较简单
>>>> Destructor : Derived //5
>>>> Destructor : Base //6
return 0;
>>>> 这个也比较简单, 因为Var1的生命周期随着函数的返回结束
>>>
avatar
n*i
11
我猜是因为一个剧分包给几个小编剧造成的。有很多片子,在不同的部分能看出不同的
写作风格,所以应该不是同一个编剧写的。几个编剧写完后,大编剧又没时间统稿,就
那么拍了,结果就很乱。

【在 B*****e 的大作中提到】
: 演的还不错。但是剧情太不行啊。
: 就不剧透了,就是评论一下。编剧始终是国产片的软肋。感觉编剧编着编着就不知道该
: 怎么编了。一会儿想抖几个包袱,吸引观众。一会儿又想正经一把,升华一下剧情。实
: 在不知道怎么编了就从别的电影里找些桥段凑合一下。感觉就是一边拍一边写凑合出来
: 的,所以看起来就是支离破碎、虎头蛇尾的。

avatar
a*s
12
你快点到了, 但是差了那么一点点---没有解释为什么调用destructor, 却看不到调用
constructor ^_^
而且说的调用destructor的理由也好像怪怪的, 和virtual一点关系都没 :)

【在 i****h 的大作中提到】
: 非大牛,试着答一下。这题主要是要考非virtual destructor。
: g点在这句
: Var2 = (Base) *Var;
: 声明了*Var 是Base的,destructor又不是virtual,所以先要调用
: Destructor : Base //4
: 然后调用其实际类型的destructor。
: Destructor : Derived //5
: 从而又调用了一次Base的destructor
: Destructor : Base //6
: 最后一行就不需要解释了。

avatar
L*4
13
这个我看了
就 刘青云这个任务印象深刻了
其他没交代清楚
尤其是结尾,就是虎头蛇尾的感觉了,结尾很不清楚
avatar
i*h
14
拜大牛,你的的确清晰多了。

【在 a**********s 的大作中提到】
: 你快点到了, 但是差了那么一点点---没有解释为什么调用destructor, 却看不到调用
: constructor ^_^
: 而且说的调用destructor的理由也好像怪怪的, 和virtual一点关系都没 :)

avatar
f*l
15
哪里有这个人物?

【在 L******4 的大作中提到】
: 这个我看了
: 就 刘青云这个任务印象深刻了
: 其他没交代清楚
: 尤其是结尾,就是虎头蛇尾的感觉了,结尾很不清楚

avatar
a*s
16
不敢, 真正的大牛都潜水

【在 i****h 的大作中提到】
: 拜大牛,你的的确清晰多了。
avatar
L*4
17
完了
昨天看到标题,竟然想到的是 夺命金
夺命金 里是刘青云。。。。

【在 f*******l 的大作中提到】
: 哪里有这个人物?
avatar
w*p
18
谢谢牛牛们,欢迎继续指教,包子for party 1 is done, but it continue for party 2
包子for party 2 也没了,赫赫
avatar
Z*B
19
非常一般
avatar
g*y
20
可惜来晚了,被牛人抢了先,没吃到包子。。。
唯一比较tricky的地方就是那个static_cast的地方有临时的base object,死掉
的时候会调用一个destructor

【在 w********p 的大作中提到】
: 谢谢牛牛们,欢迎继续指教,包子for party 1 is done, but it continue for party 2
: 包子for party 2 也没了,赫赫

avatar
p*a
21
很一般,nima,诸多脑残处,关键是大环节,生死抉择上的好几次脑残。
也是,拧浩不可能部部经典啊
avatar
w*p
22
问题继续, 包子继续
class Base
{
public:
Base(){ cout<~Base(){ cout<};
class Derived: public Base
{
public:
Derived(){ cout<~Derived(){ cout<};
int main()
{
Derived Var1;
Base Var2(Var1);
Derived Var3(Var1);
return 0;
}
output:
Constructor: Base
Constructor: Derived
Destructor : Derived
Destructor : Base
Destructor : Base
Destructor : Derived
Destructor : Base
请解释一下

【在 g*******y 的大作中提到】
: 可惜来晚了,被牛人抢了先,没吃到包子。。。
: 唯一比较tricky的地方就是那个static_cast的地方有临时的base object,死掉
: 的时候会调用一个destructor

avatar
T*x
23
6.1

【在 x**s 的大作中提到】
: 演小东北那个要火啊,
: 看的枪版,效果嘛嘛,剧情挺逗
: 延续宁浩风格

avatar
a*s
24
int main()
{
Derived Var1;
>>>> construct var1
>>>> Constructor: Base
>>>> Constructor: Derived
Base Var2(Var1);
Derived Var3(Var1);
>>>> The construction of above wont print anything
>>>> since the default copy constructs are done silently
return 0;
>>>> UPON RETURN <<<<
>>>> destruct var3
>>>> Destructor : Derived
>>>> Destructor : Base
>>>> destruct var2
Destructor : Base
>>>> destruct var1
Destructor : Derived
Destructor : Base
}
avatar
a*5
25
剧情应该能组织的更好

【在 x**s 的大作中提到】
: 演小东北那个要火啊,
: 看的枪版,效果嘛嘛,剧情挺逗
: 延续宁浩风格

avatar
w*p
26
谢谢, 解释的好明白哦。还省了我的包子, 赫赫,开心

【在 a**********s 的大作中提到】
: int main()
: {
: Derived Var1;
: >>>> construct var1
: >>>> Constructor: Base
: >>>> Constructor: Derived
: Base Var2(Var1);
: Derived Var3(Var1);
: >>>> The construction of above wont print anything
: >>>> since the default copy constructs are done silently

avatar
r*e
27
同意

【在 p********a 的大作中提到】
: 很一般,nima,诸多脑残处,关键是大环节,生死抉择上的好几次脑残。
: 也是,拧浩不可能部部经典啊

avatar
m*0
28
沙盘mm是大牛。

【在 i****h 的大作中提到】
: 拜大牛,你的的确清晰多了。
avatar
F*y
29
YouTube上有高清的
avatar
s*i
30
是啊。。。我也发现了

【在 m********0 的大作中提到】
: 沙盘mm是大牛。
avatar
d*0
31
这个片子就是在侮辱观众的智商。
avatar
w*a
32
不知道算是个什么风格,情节莫名其妙,看了30分钟就没兴趣看下去了。

【在 x**s 的大作中提到】
: 演小东北那个要火啊,
: 看的枪版,效果嘛嘛,剧情挺逗
: 延续宁浩风格

avatar
r*e
33
这就是大制作的风格

【在 w**a 的大作中提到】
: 不知道算是个什么风格,情节莫名其妙,看了30分钟就没兴趣看下去了。
avatar
w*8
34
宁浩是不是脑残了,拍出这种片子,剧情不是一般的弱智。
avatar
m*e
35
剧情荒诞一点没有什么,The Inglorious Basterds也很荒诞。我觉得枪战那场还真有
点儿像。
avatar
J*0
36
荒诞和弱智是两回事。
这片子也就开头十分钟的贫嘴可以看看。

【在 m*****e 的大作中提到】
: 剧情荒诞一点没有什么,The Inglorious Basterds也很荒诞。我觉得枪战那场还真有
: 点儿像。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。