gpt4 book ai didi

c# - 基类不包含无参数构造函数?

转载 作者:IT王子 更新时间:2023-10-29 03:49:56 25 4
gpt4 key购买 nike

我通过删除一些空的构造函数使我的构造函数更加严格。我对继承很陌生,并且对我得到的错误感到困惑:基类不包含无参数构造函数。我怎样才能使 A2 继承 A 而 A 中没有空构造函数。另外,就我个人的理解而言,为什么 A2 需要 A 的空构造函数?

Class A{
//No empty constructor for A
//Blah blah blah...
}

Class A2 : A{
//The error appears here
}

最佳答案

在类 A2 中,您需要确保所有构造函数都调用带参数的基类构造函数。

否则,编译器会假定您要使用无参数基类构造函数来构造 A2 对象所基于的 A 对象。

例子:

class A
{
public A(int x, int y)
{
// do something
}
}

class A2 : A
{
public A2() : base(1, 5)
{
// do something
}

public A2(int x, int y) : base(x, y)
{
// do something
}

// This would not compile:
public A2(int x, int y)
{
// the compiler will look for a constructor A(), which doesn't exist
}
}

关于c# - 基类不包含无参数构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7689742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com