holyya.com
2025-09-04 15:34:13 Thursday
登录
文章检索 我的文章 写文章
C++中的基类和派生类
2023-07-03 08:08:48 深夜i     --     --
基类 派生类 继承 多态 虚函数

C++是一个面向对象的编程语言,支持继承关系。在C++中,每个类都可以作为另一个类的基类。基类是一个通用类,它定义了一组公共属性和方法以供派生的类使用。派生类则扩展或重写这些属性和方法,实现特定的需求。

基类的语法格式如下:


class BaseClass

  // 定义公共属性和方法

;

派生类的语法格式如下:


class DerivedClass : access_mode BaseClass

  // 定义扩展或重写的属性和方法

;

其中,access_mode表示派生类对基类成员的访问权限,默认为private。如果指定为public,则可以在派生类外部访问基类的公共成员。

C++中的派生类可以扩展或重写基类的属性和方法。扩展基类成员的方式是在派生类中添加新的成员,重写基类成员的方式是在派生类中重新定义该成员。

下面是一个简单的例子,展示了基类和派生类的基本用法:


#include <iostream>

using namespace std;

// 定义基类

class Shape

{

public:

  void setColor(string c)

  

    color = c;

  

  string getColor()

  

    return color;

  

private:

  string color;

};

// 定义派生类

class Rectangle : public Shape

{

public:

  void setWidth(double w)

  

    width = w;

  

  void setHeight(double h)

  

    height = h;

  

  double getArea()

  {

    return width * height;

  }

private:

  double width;

  double height;

};

int main()

{

  Rectangle rect;

  rect.setColor("red");

  rect.setWidth(5.0);

  rect.setHeight(6.0);

  cout << "Color: " << rect.getColor() << endl;

  cout << "Area: " << rect.getArea() << endl;

  return 0;

}

在上面的例子中,Shape是基类,Rectangle是派生类。Rectangle重写了setWidth、setHeight和getArea方法,扩展了成员变量width和height。同时,派生类可以继承基类的setColor、getColor方法。

通过执行上面程序,将会输出以下内容:


Color: red

Area: 30

因此,使用基类和派生类的方法可以使C++程序具有更好的模块化和可重用性,提高代码的可维护性和可扩展性。

  
  

评论区

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