本文介绍了如何停止将派生类对象分配给基类指针的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有四个课程如下



  class  Base 
{
public void printf()
{
Console.WriteLine( 我来自基地!!!);
}
}

class DerivedA:Base
{
public void printf()
{
Console.WriteLine( 我来自A !!!);
}
}

DerivedB:基本
{
public void printf()
{
Console.WriteLine( 我来自B !!!);
}
}

class testProgram
{
public void print(Base baseClass)
{
baseClass.printf();
}
}





我的目标是当我在第4行执行以下代码时,它必须给我错误。



 testProgram tP =  new  testProgram(); 
tP.print(baseClass);
tP.print(derivedA);
tP.print(derivedB);





我需要做些什么改变????

提前谢谢

解决方案


I have four classes as follow

class Base
    {
        public void printf()
        {
            Console.WriteLine("I am fro base !!!");
        }
    }

class DerivedA : Base
    {
        public void printf()
        {
            Console.WriteLine("I am fro derived A !!!");
        }
    }

class DerivedB : Base
    {
        public void printf()
        {
            Console.WriteLine("I am fro derived B !!!");
        }
    }

class testProgram
    {
        public void print(Base baseClass)
        {
            baseClass.printf();
        }
    }



my aim is when I execute following code in line 4 it must give me error.

testProgram tP = new testProgram();
 tP.print(baseClass);
 tP.print(derivedA);
 tP.print(derivedB);



What changes I need to do ????
thanks in advance

解决方案



这篇关于如何停止将派生类对象分配给基类指针的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 09:15
查看更多