21xrx.com
2024-12-26 17:21:14 Thursday
登录
文章检索 我的文章 写文章
C++中如何定义子类?
2023-07-14 07:36:00 深夜i     --     --
C++ 定义 子类

子类(Subclass)是面向对象编程中的一种概念,它是从一个现有类(父类或基类)继承而来的类。在C++中,定义子类的过程被称为派生(Derivation),通过派生可以实现代码重用并增加代码的灵活性。

定义C++中的子类有两种方式:

1. 公有派生

公有派生意味着基类的公有成员在子类中也是公有成员,基类的保护成员在子类中是保护成员,基类的私有成员在子类中是不可访问的。

基本语法格式为:


class 子类名 : 访问控制 基类名 

 

  子类成员 

;

其中,访问控制可以是public、protected或private,基类名即为所继承的基类,子类成员为子类特有的成员。

例如:


class Person  

public: 

  string name; 

  int age; 

//Student是Person的子类

class Student : public Person  

public: 

  int score; 

在这个例子中,Student是从Person派生而来的子类,它继承了Person的公有成员name和age,同时也增加了自己的score成员。

2. 私有或保护派生

私有或保护派生意味着基类的公有和保护成员在子类中都是私有或保护成员,基类的私有成员在子类中是不可访问的。

基本语法格式为:


class 子类名 : 访问控制 基类名 

 

  子类成员 

;

其中,访问控制可以是protected或private,基类名即为所继承的基类,子类成员为子类特有的成员。

例如:


class Bird { 

public: 

  void fly()  

    cout << "I can fly!" << endl; 

   

}; 

//Penguin是Bird的子类

class Penguin : protected Bird { 

public: 

  void swim()  

    cout << "I can swim!" << endl; 

   

}; 

在这个例子中,Penguin是从Bird派生而来的子类,它继承了Bird的公有成员fly(),同时它是保护派生,因此fly()成员在Penguin中是保护成员,它增加了自己的swim()成员。

总结:

定义C++中的子类就是从现有的类中派生新的类。通过派生可以实现代码重用并增加代码的灵活性。C++中定义子类有公有派生和私有或保护派生两种方式,其中,公有派生的基本语法为:class 子类名 : public 基类名,私有或保护派生的基本语法为:class 子类名 : protected/private 基类名。

  
  

评论区

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