21xrx.com
2024-11-05 18:57:30 Tuesday
登录
文章检索 我的文章 写文章
C++的继承方式
2023-06-29 21:21:58 深夜i     --     --
C++ 继承 多重继承 虚拟继承 继承权限

C++是一种流行的编程语言,支持多种继承方式。继承是一种重要的OO编程概念,可以帮助我们在代码中重用和扩展现有的类。下面我们来看看C++中常见的继承方式。

1.公有继承

公有继承是C++中最常用的继承方式之一。通过公有继承,子类可以继承父类的所有公有成员和方法。例如:


class Shape {

public:

  void setWidth(int w)

   width = w;

 

  void setHeight(int h)

   height = h;

 

protected:

  int width;

  int height;

};

class Rectangle: public Shape {

public:

  int getArea() {

   return (width * height);

  }

};

在这个例子中,Rectangle类公有继承了Shape类。子类Rectangle中可以使用setWidth()和setHeight()方法以及width和height变量。

2.私有继承

私有继承是指子类只能访问父类的公有和保护成员,而不能访问父类的私有成员。例如:


class Base {

public:

  void PublicFunc() {}

protected:

  void ProtectedFunc() {}

private:

  void PrivateFunc() {}

};

class Derived: private Base {

public:

  void Func() {

   PublicFunc();

   ProtectedFunc();

  }

};

在这个例子中,Derived类私有继承了Base类,并在Func()方法中调用了父类的PublicFunc()和ProtectedFunc()方法。但是,由于Base类的PrivateFunc()方法是私有的,因此Derived类无法访问它。

3.保护继承

保护继承与私有继承很相似,但子类可以访问父类的保护成员。例如:


class Base {

public:

  void PublicFunc() {}

protected:

  void ProtectedFunc() {}

private:

  void PrivateFunc() {}

};

class Derived: protected Base {

public:

  void Func() {

   PublicFunc();

   ProtectedFunc();

  }

};

在这个例子中,Derived类保护继承了Base类,并在Func()方法中调用了父类的PublicFunc()和ProtectedFunc()方法。由于Derived类继承了Base类的保护成员,它可以访问ProtectedFunc()方法。

总结

C++提供了多种继承方式来帮助我们构建复杂的代码结构。我们可以根据需求选择适当的继承方式来实现实际需求。其中,公有继承是我们最常用的继承方式,但私有继承和保护继承也经常用于特定情况下。

  
  
下一篇: C++输出窗口

评论区

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