21xrx.com
2024-11-22 11:33:53 Friday
登录
文章检索 我的文章 写文章
C++有哪几种派生方式?
2023-07-04 15:42:25 深夜i     --     --
C++ 派生方式

C++是一种广泛应用于各种领域的编程语言,它支持多种派生方式来创建子类。通常情况下,程序员可以从基类派生出新的子类,这些子类可以在原基类的基础上拥有更多的功能和特点。接下来我们来了解一下C++中有哪几种派生方式。

1.公有派生:

公有派生是C++中最常见的一种派生方式,它们是基类和派生类之间的一个继承关系,其中继承自基类的成员变量和成员函数,在派生类中都是公开的。

例如:


class A

public:

  int a;

;

class B : public A

public:

  int b;

;

在上面的示例中,B是从A继承而来的,B将会包含A中的所有成员变量和所有公有成员函数。此外,B还添加了一个新的成员变量b。

2.私有派生:

私有派生是一种在C++中常用的一种派生方式。在此种情况下,派生类只继承了基类公有成员函数和公有变量的接口,而不会继承基类的私有成员函数或私有变量。

例如:


class A

public:

  int a;

private:

  int b;

;

class B : private A{

public:

  int GetA()

    return a;

  

};

在上述示例中,派生类B继承了基类A的公有接口,而私有成员b则不会被继承。因此,从A派生出的B是没有直接访问其私有成员b的。

3.保护派生:

在派生类与基类之间,还有第三种派生方式,即保护派生。这种派生方式只访问基类公有成员函数和变量的接口,同时也能够访问基类的保护成员函数和变量。

例如:


class A

public:

  int a;

protected:

  int b;

;

class B : protected A{

public:

  void SetB(int x)

    b = x;

  

};

与私有派生不同的是,基类的保护成员变量和函数都是可以被访问的。在此示例中,派生类B可以直接访问基类A中的保护成员变量b。

三种派生方式都有它们的优点和局限性,程序员应根据实际需要选择合适的派生方式。C++的继承机制为我们提供了很大的灵活性,采用合适的派生方式可以增加代码的可读性和可维护性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复