Переопределение метода - C#
Формулировка задачи:
Не могу переопределить в производном классе метод Change, чтобы изменялось еще и грузоподъемность.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace qwe
{
class Program
{
static void Main(string[] args)
{
car car = new car("BMW", 5, 250);
Console.WriteLine(car.show());
gruzovik gruzovik = new gruzovik("KAMAZ", 5, 250, 100);
Console.WriteLine(gruzovik.show());
Console.WriteLine("Change");
string cn = Convert.ToString(Console.ReadLine());
int cc = int.Parse(Console.ReadLine());
int cp = int.Parse(Console.ReadLine());
int g = int.Parse(Console.ReadLine());
string gname = Convert.ToString(Console.ReadLine());
int gc = int.Parse(Console.ReadLine());
int gp = int.Parse(Console.ReadLine());
int ggruz = int.Parse(Console.ReadLine());
car.change(cn, cc, cp);
gruzovik.change(gname, gc, gp, ggruz);
Console.WriteLine(car.show());
Console.WriteLine(gruzovik.show());
}
}
public class car
{
public string name;
public int c;
public int power;
public car(string name, int c, int power)
{
this.name = name;
this.c = c;
this.power = power;
}
public virtual string show()
{
string s = name + " " + c + " " + power + " ";
return s;
}
public virtual void change(string cn, int cc, int cp)
{
this.name = cn;
this.c = cc;
this.power = cp;
}
~car()
{
Console.WriteLine("destruction");
}
}
class gruzovik : car
{
public int gruz;
public gruzovik(string name, int c, int power, int gruz)
: base(name, c, power)
{
this.gruz = gruz;
}
public override string show()
{
return base.show() + " " + gruz;
}
public override void change(string cn, int cc, int cp, int ggruz)
{
this.gruz = ggruz;
base.change(cn, cc, cp, ggruz);
}
}
}Решение задачи: «Переопределение метода»
textual
Листинг программы
public void change(string cn, int cc, int cp, int ggruz)
{
this.gruz = ggruz;
base.change(cn, cc, cp);
}