C#构造函数和析构函数
//下面objects用来记录学生对象的个数,请修改程序使objects记录的是当前内存中学生对象的个数。public class Student
{
public static int objects = 0, classes = 0;
public string name;
//构造函数
public Student(string n)
{
name = n;
Console.WriteLine("对象计数:{0}", ++objects);
}
//静态构造函数
static Student()
{
Console.WriteLine("类计数:{0}", ++classes);
}
//析构函数
~Student()
{
Console.WriteLine("学生对象{0}销毁", name);
}
}
class Program
{
static void Main(string[] args)
{
Student s1 = new Student("aaa");
Student s2 = new Student("bbb");
s1 = new Student("ccc");
} C# 内存 构造函数 析构函数 对象 --------------------编程问答-------------------- Student.objects += 1就是了,在需要计数的地方加上 --------------------编程问答--------------------
请问可以说详细一点吗?为什么要加1呢? --------------------编程问答-------------------- 我还在想,貌似搞不定的!
Student s1 = new Student("aaa");
Student s2 = new Student("bbb");
s1 = new Student("ccc");
根据你上面给出的代码,此时,合理的 Object 数量应该是 2,但是实际是3,但是析构函数的调用又是不定期的,而且我试过,强制创建对象的时候,执行垃圾回收也没用。所以我觉得这题应该是无解。 --------------------编程问答-------------------- 除
补充:.NET技术 , C#