当前位置:编程学习 > C#/ASP.NET >>

这个基类、派生类、析构函数考试题!急,跪求呀!!!!

朋友让我帮忙找答案,今天早上必须要交,我也没弄过几天程序就丢了好多年了,没办法不做伸手党了,鄙视我没事,但是好心人看见一定要帮帮我啊!!!

写出下列程序的执行结果。

using System;
 class BaseClass
 {
    public BaseClass(){        //构造函数
       Console.WriteLine("Call BaseClass Constructor!");
    }
    ~BaseClass(){             //析构函数
       Console.WriteLine("Call BaseClass Destructor!");
    }
 }
 classDerivedClass : BaseClass     //派生类
 {
     public DerivedClass(){        //构造函数
       Console.WriteLine("Call DerivedClass Constructor!");
    }
    ~DerivedClass(){               //析构函数
       Console.WriteLine("Call DerivedClass Destructor!");
    }
 }
 class Class    //程序入口
 {
     static void Main(){
        DerivedClass d = new DerivedClass();
     }
 }
 


--------------------编程问答-------------------- 看看书,这就考基础,不行去网上查查 --------------------编程问答-------------------- Call BaseClass Constructor!
Call DerivedClass Constructor!
Call DerivedClass Destructor!
Call BaseClass Destructor!
如果和C++一样的话,就是先父类的构造,再自己的构造,析构则是相反。
另,C#中还真用过析构函数。 --------------------编程问答--------------------
运行结果还真是。 --------------------编程问答--------------------
引用 2 楼 xuezhe521 的回复:
Call BaseClass Constructor!
Call DerivedClass Constructor!
Call DerivedClass Destructor!
Call BaseClass Destructor!
如果和C++一样的话,就是先父类的构造,再自己的构造,析构则是相反。
另,C#中还真用过析构函数。

我们是不能控制解构器的、它是由垃圾收集器去执行的、
结果会是
Call BaseClass Constructor!
Call DerivedClass Constructor!
要想控制就得重定向吧、
貌似是这样的、
上学的时候看过这样的例子 --------------------编程问答--------------------
引用 3 楼 xuezhe521 的回复:
运行结果还真是。
--------------------编程问答-------------------- 调试了下、是在main函数执行完以后才去析构的、所以书上说的没错
析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
这个题目、有歧义 --------------------编程问答-------------------- 运行结果:

--------------------编程问答--------------------
引用 3 楼 xuezhe521 的回复:
运行结果还真是。


引用 7 楼 yangkun0224 的回复:
运行结果:


神马情况~~~
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,