这个基类、派生类、析构函数考试题!急,跪求呀!!!!
朋友让我帮忙找答案,今天早上必须要交,我也没弄过几天程序就丢了好多年了,没办法不做伸手党了,鄙视我没事,但是好心人看见一定要帮帮我啊!!!写出下列程序的执行结果。
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#中还真用过析构函数。 --------------------编程问答--------------------
运行结果还真是。 --------------------编程问答--------------------
我们是不能控制解构器的、它是由垃圾收集器去执行的、
结果会是
Call BaseClass Constructor!
Call DerivedClass Constructor!
要想控制就得重定向吧、
貌似是这样的、
上学的时候看过这样的例子 --------------------编程问答-------------------- --------------------编程问答-------------------- 调试了下、是在main函数执行完以后才去析构的、所以书上说的没错
析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
这个题目、有歧义 --------------------编程问答-------------------- 运行结果:
--------------------编程问答--------------------
神马情况~~~
补充:.NET技术 , C#