“Order”不包含接受 0 个参数的构造函数

本文关键字:参数 构造函数 Order 包含接 | 更新日期: 2023-09-27 18:31:24

>我得到的'Order'不包含接受0个参数的构造函数。所以根据这个错误,我知道它在我的公共类顺序中。我忽略了什么?谢谢!

public class Order
{
    public int QuantityOrdered { get; set; }
    public double TotalPrice;
    public const double PRICEEACH = 19.95;
    virtual public double totalPrice
    {
        set
        {
            TotalPrice = QuantityOrdered * PRICEEACH;
        }
    }
}
public class ShippedOrder : Order
{
    public const double SHIPPINGFEE = 4.00; 
    public override double totalPrice
    {
        set
        {
            totalPrice = base.TotalPrice + SHIPPINGFEE;
        }
    }
}

“Order”不包含接受 0 个参数的构造函数

Order

类中必须有一个构造函数,您尚未在提供的代码中列出。

如果未为类定义任何构造函数,编译器会为你提供一个隐式无参数构造函数。

但是,当您添加采用参数的构造函数时,例如。 public Order(string someString) {},您将丢失此隐式构造函数。

您需要执行以下操作之一:

  1. 添加一个显式无参数构造函数,例如。 public Order() {}

  2. 更新实例化 Order 对象的代码以传递它要查找的参数,例如。 new Order(someString)

  3. 从需要参数的订单中删除构造函数。

收到该错误消息的唯一方法是:

  1. 在类中接受 1 个或多个参数的构造函数。
  2. 一个构造函数,它接受 0 个参数,但受保护或私有,并且您尝试在访问之外调用构造函数。