菜鸟求救c#控制台程序问题,为啥下面程序不能运行?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ConsoleApplication2
{
public class Person
{
public string name;
public int age;
public Person(string name,int age)
{
this.name = name;
this.age = age;
}

}
public class Student:Person
{
public Student(string name,int age) : base(name)
{
this.age = age;
}
}
class Program
{
static void Main(string[] args)
{
Student s=new Student("wanghuan",11);
Console.WriteLine(s.name);
Console.WriteLine(s.age);

}
}
}

第1个回答  2012-03-06
person为student的父类,person的构造函数带有 两个参数,而你在其子类student的有参构造函数里调用父类person的有参构造函数的时候是调用的带有一个人参数的构造行数,而person里面没有带有一个参数的构造函数,所以会报错base后面的括号里应该传入两个参数
在调试控制台的应用程序的时候,你可以按Ctrl+F5进行调试,这样程序调试完了后不会立刻关闭窗体,而是会让你“按任意键继续...”,这样可以让你在不接受键盘输入的情况下也可以看见程序运行的结果
第2个回答  2012-03-06
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
public class Person
{
public string name;
public int age;
public Person(string name, int age)
{
this.name = name;
this.age = age;
}

}
public class Student : Person
{
public Student(string name, int age)
: base(name,age)
{
this.age = age;
}
}
class Program
{
static void Main(string[] args)
{
Student s = new Student("wanghuan", 11);
Console.WriteLine(s.name);
Console.WriteLine(s.age);
Console.ReadLine();
}
}
}
首先, public Student(string name,int age) : base(name)这句缺少个参数,然后是引用里面多了个using System.Windows.Forms;这个应该是winform才用的吧,你这个是控制台程序本回答被网友采纳
第3个回答  2012-03-06
你是不是忘了
Console.ReadKey();
窗口一闪就没了
第4个回答  2012-03-06
: base(name,age) 很关键
相似回答
大家正在搜