语言陷阱:C++继承的转换

起了个很壮观的名字,也就是说,有点招摇撞骗的感觉。我想将这部分做一个系列,但有不想与别的太重合。嗯,这个系列的来源是这样的,平时总有人问我,xxx为什么无法编译通过,明明是对的,有些时候,我也这样问自己。从概念上来说,一些问题是不应该出现的,但却实际出现了,理论和实际总会出现一些冲突的。因此,我希望将一些平时我们不注意的细节记录下来,让我们在出现类似问题的时候可以寻找到答案,减少我们所犯的错误。
目前我电脑还没有安装完开发环境,所以,今天的开始只是一个回忆的开始,从我能记住的开始。改天将代码的实际测试结果和错误结果给出。
在C++中,继承很是强大,我们可以通过继承来扩展类型,但扩展是否有限制呢?先看下面的一组代码:

       void copy(int* a, int* b)
       {
       }

       void copy(byte* a, byte* b)
       {
       }

       class CBase()
       {
       public:
       CBase(){}
       virtual ~CBase(){}
       }

       class Child: public CBase
       {
       public:
       Child(){};
       virtual ~Child(){};
       }
       void copy(CBase** a, CBase** b)
       {
       }

       void main()
       {
       CBase** temp1 = new Child*[10];
       Child** temp2 = new Child*[10];
       copy(temp1, temp2);
       }
       

继续阅读语言陷阱:C++继承的转换