我有四类:如何停止分配派生类对象的基类指针
class Base
{
public void printf()
{
Console.WriteLine("I am from base !!!");
}
}
class DerivedA : Base
{
public void printf()
{
Console.WriteLine("I am from derived A !!!");
}
}
class DerivedB : Base
{
public void printf()
{
Console.WriteLine("I am from derived B !!!");
}
}
class testProgram
{
public void print(Base baseClass)
{
baseClass.printf();
}
}
我的目标是当我执行下面的代码,在第4行,必须再给我编的错误。
testProgram tP = new testProgram();
tP.print(baseClass);
tP.print(derivedA);
tP.print(derivedB);
我需要做什么改变?
什么从3号线的区别呢? – Servy 2014-09-25 14:57:16
不要继承Base。问题解决了。如果您需要更多帮助,请提供更多信息,但如果派生类无法替代您的基础,则看起来似乎存在设计问题。 – 2014-09-25 14:57:45
请包含编译器错误。 “它给了我一个错误”没有帮助。 – Gutblender 2014-09-25 14:59:32