【发布时间】:2014-01-08 15:58:39
【问题描述】:
我从下面的 c# 代码中收到错误“不包含采用 0 个参数的构造函数”:
public class Holiday
{
string startDate, endDate, firstName, lastName, emailAddress, numberOfGuests;
private double Cost = 100;
public Holiday(string start, string end, string first, string last, string email, string guestCount)
{
startDate = start;
endDate = end;
firstName = first;
lastName = last;
emailAddress = email;
numberOfGuests = guestCount;
}
public double test
{
get { return Cost; }
}
}
public class AdventureHoliday : Holiday
{
public AdventureHoliday(string start, string end, string first, string last, string email, string guestCount)
: base(start, end, first, last, email, guestCount)
{
}
public double totalcost()
{
double adventureAdditional = 0.50;
double xcost = test + (test * adventureAdditional);
return xcost;
}
}
public class CulturalHoliday : Holiday
{
public CulturalHoliday(string start, string end, string first, string last, string email, string guestCount)
: base(start, end, first, last, email, guestCount)
{
}
public double totalcost()
{
double culturalAdditional = 1.0;
double xcost = test + (test * culturalAdditional);
return xcost;
}
我查看了这个问题的各种线程,它们似乎都表明应该通过添加来解决问题:
: base(start, end, first, last, email, guestCount)
我已将此添加到第二类中,但仍然出现错误。我在第 201 行和第 125 行的冒险假期和文化假期都得到了这个 (公开课 AdventureHoliday : Holiday)
和
public class CulturalHoliday : Holiday
有人有什么想法吗?对不起,如果我错过了一些愚蠢的事情。提前致谢
【问题讨论】:
-
究竟是哪一行给了你错误?是编译时错误还是运行时错误?
-
显示课程
Holiday。您还没有显示调用无参数构造函数的代码。 -
抱歉错过了假期。现已添加。
-
添加行号信息
-
@user3174012:您的代码仍然没有问题。顺便说一句,而不是提及行号(我们看不到),您应该告诉我们您在哪些行上得到了编译器(?)错误。
标签: c# inheritance