当前位置:  开发笔记 > 编程语言 > 正文

在继承中:我可以覆盖基类数据成员吗?

如何解决《在继承中:我可以覆盖基类数据成员吗?》经验,为你挑选了1个好方法。

假设我有两个类,如下所示:

Class A
{
public:
..
private:
  int length;
}

Class B: public Class A
{
public:
..
private:
 float length;
}

我想知道的是:

    是否允许覆盖基类数据成员

    如果是的话,这是一个好习惯吗?

    如果不是,扩展类的数据成员类型的最佳方法是什么?

有一个类满足我的需求,我想重用它.但是,对于我的程序需求,其数据成员应该是另一种类型.

我有一些书,但它们都只是指覆盖基类成员方法.



1> Vinay..:

您可以使用模板化成员,即通用成员,而不是覆盖成员.

您也可以声明VARIANT(COM)之类的联合.

   struct MyData
   {
        int vt;              // To store the type

        union 
        {                
            LONG      lVal;
            BYTE      bVal;
            SHORT     iVal;
            FLOAT     fltVal;
            .
            .
        }
   };

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有