21xrx.com
2024-11-22 06:51:08 Friday
登录
文章检索 我的文章 写文章
C++继承的语法及实现方式
2023-07-05 04:50:14 深夜i     --     --
C++ 继承 语法 实现方式

C++语言中的继承是一种重要的语言特性,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和行为。本文将介绍C++继承的语法及实现方式。

一、继承的语法

C++中使用关键字“class”或“struct”定义一个类,实现继承时需要使用关键字“class”和“:”来表示继承关系。继承时,子类会继承父类的所有属性和行为,并且可以添加自己的属性和行为。继承语法的一般形式如下:


class ChildClass : public ParentClass

  // 子类的自有属性和方法

;

上述代码中,“ChildClass”是子类的名称,“ParentClass”是父类的名称。“public”表示继承方式为公有继承,还有“private”和“protected”两种继承方式。“protected”表示保护继承,子类可以访问父类中的保护成员,但不能访问父类的私有成员。“private”表示私有继承,子类可以访问父类中的私有和保护成员,但只能作为私有成员来访问。

二、继承的实现方式

C++中实现继承主要有两种方式,分别是公有继承和保护继承。这两种方式的实现机制不同,具体如下:

1. 公有继承

公有继承是将父类的全部公有和保护成员复制到子类中,使得子类从父类中继承的公有和保护成员可以在子类中使用。此时,子类可以直接使用父类的成员变量和成员函数。下面是公有继承的示例代码:


class ParentClass {

public:

  void display()

   cout << "This is a Parent Class." << endl;

 

};

class ChildClass : public ParentClass {

public:

  void show()

   cout << "This is a Child Class." << endl;

 

};

int main() {

  ChildClass obj;

  obj.display();

  obj.show();

  return 0;

}

上述代码中,“ParentClass”是父类,“ChildClass”是子类。“display()”函数是父类的成员函数,“show()”函数是子类的成员函数。在main()函数中,创建了一个“ChildClass”对象“obj”,调用了它的“display()”和“show()”方法。在这个例子中,子类继承了父类中的公有成员函数,“display()”函数可以被子类的对象直接调用。

2. 保护继承

保护继承是将父类的全部公有和保护成员复制到子类中,但子类不能直接访问父类的保护成员,只能通过子类的成员函数来访问父类的保护成员。下面是保护继承的示例代码:


class ParentClass {

protected:

  void display()

   cout << "This is a Parent Class." << endl;

 

};

class ChildClass : protected ParentClass {

public:

  void show() {

   display();

   cout << "This is a Child Class." << endl;

  }

};

int main() {

  ChildClass obj;

  obj.show();

  return 0;

}

上述代码中,子类“ChildClass”继承了父类“ParentClass”的保护成员函数“display()”。在子类“ChildClass”中,通过成员函数“show()”调用了父类的成员函数“display()”。注意,在这个例子中,“display()”函数不能被直接访问,而只能通过子类的“show()”函数来间接访问。

总之,C++中的继承是一种非常重要的语言特性,通过继承可以更好地复用代码和实现代码的扩展性。熟练掌握继承语法和实现方式,对于编写高质量的C++代码具有重要的作用。

  
  

评论区

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