Хорошо, так вот упражнение: Вы должны определить три класса. Один класс с именем MyNum, который содержит переменную типа int. Второй класс, называемый MyString, будет получен из MyNum и содержит строку. Третий класс вызывает MyType и возвращает переменную типа MyNum. Каждому классу будет присвоена функция-конструктор и виртуальная функция, называемая Show. Функция-конструктор MyType получает переменную MyNum, тогда как функция Show MyType будет запускать функцию Show MyNum. Теперь вам нужно установить два объекта типа MyType и инициализировать их. После типа объекта MyNum и как только объект типа MyString.Очень простые упражнения в виртуальных функциях
Вот код:
class MyNum
{
protected int num;
public MyNum(int num)
{
this.num = num;
}
public virtual void Show()
{
Console.WriteLine("The number is : " + num);
}
}
class MyString : MyNum
{
string str;
public MyString(string str)
{
this.str= str;
}
}
class MyType : MyNum
{
MyNum num2;
public MyType(MyNum num)
{
this.num2 = num;
}
public override void Show()
{
base.Show();
}
}
class Program
{
static void Main(string[] args)
{
}
}
У меня следующее сообщение об ошибке:
Ошибка 1 'ConsoleApplication1.MyNum' не содержит конструктор, который принимает '0' аргументы C: \ Users \ x \ AppData \ Local \ Temporary Projects \ ConsoleApplication1 \ Program.cs 23 16 ConsoleApplication1
Кто-нибудь знает, почему у меня эта ошибка? Благодарю.
Ребята, я его отредактировал У меня все еще есть эта ошибка, в классе MyString и в MyType –
Хорошо, у MyNum нет проблем сейчас, но MyString do –
ohh Мне нужно создать специальные конструкторы для производных классов? –