如何仅继承C ++中的成员函数?

时间:2016-11-12 02:37:30

标签: c++ inheritance

假设我有一个基类Base和一个派生类Derived。

class Base
{
public:
    void f1(void);
    ...
    int data1;
    ...
};

class Derived : Base
{
... add stuff here that's unique to Derived
};

Derived如何仅从Base继承函数(即f1())而不继承数据(即data1)?

1 个答案:

答案 0 :(得分:0)

具有派生类中不需要的基类的属性是不良继承的提示

在你的情况下我假设你将有另一个需要那些数据成员的派生类,否则它没有意义

然后为什么不做这样的事情:

class Base
{
public:
    void f1(void);
    ...
};

class DerivedClass : Base
{
... add stuff here that's unique to Derived
};

class DerivedClass2 : Base
{ 
     public:
         int data1;
         ....
}

如果您有更多需要这些数据成员的派生类,我建议您创建单独的基类,一个用于函数,一个用于数据成员。