老实说,我不知道为什么这让我失望。
public abstract class BankAccount
{
private string accNo;
private double balance;
public abstract void MakeWithdrawal(string acc);
public abstract void MakeDeposit(double dep);
上面的代码抛出这个错误:
BankAccount.MakeWithdrawal()' is abstract but it is contained in non-abstract class 'Worksheet7.BankAccount'
即使我将类声明为抽象类,也是如此。 有没有我在这里缺少的东西或我缺少的 visual studio 中的附加条件?
最佳答案
我怀疑您在 Worksheet7
命名空间中还有其他一些名为 BankAccount
的类,该类未定义为 abstract
。下面的代码编译得很好:
public abstract class BankAccount
{
private string accNo;
private double balance;
public abstract void MakeWithdrawal(string acc);
public abstract void MakeDeposit(double dep);
}
所以错误信息不在这个类上。它位于另一个在不同命名空间中定义的同名类上。
关于c# - C#中的抽象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7873143/