21xrx.com
2024-11-05 16:28:15 Tuesday
登录
文章检索 我的文章 写文章
C++派生类如何继承基类数据成员?
2023-06-28 05:47:35 深夜i     --     --
C++ 派生类 继承 基类 数据成员

在C++中,派生类是可以继承基类数据成员的。派生类是指在一个已经存在的类的基础上,通过添加新的成员或者重写已有的成员,产生一个新的类的过程。在这个过程中,可以选择是否继承基类的数据成员。

若派生类需要继承基类的数据成员,可以使用C++中的protected访问控制符来实现。protected可以用于声明基类中成员,这些成员可以被继承类中的成员函数访问,但不能被外部访问。

例如,定义一个基类Person,其中包含了私有成员变量name和age,然后定义一个派生类Student,需要继承Person类的数据成员。

class Person{

private:

  string name;

  int age;

public:

  void display();

};

class Student : public Person{

  private:

    int stuId;

  public:

    void setStuId(int id);

    void display();

};

在派生类中,使用public关键字来表示Student类是从Person类派生出来的。这样,在Student类中就可以访问Person类中声明为protected的成员变量name和age了。同时,派生类定义自己的成员变量stuId并定义自己的成员函数setStuId和display。

若需要初始化基类的成员变量,可以使用初始化列表来完成。例如:

Student::Student(string name, int age, int stuId):Person(name,age)

  this->stuId = stuId;

这样,Student类就可以继承基类Person的数据成员name和age,并且自己也拥有成员变量stuId。在使用派生类时,可以直接使用Student类的对象调用其成员函数,也可以使用基类Person的指针或引用来调用基类成员函数。例如:

Student stu("Tom", 20, 1001);

stu.setStuId(1001);

stu.display();

Person *per = &stu;

per->display();

这样,就可以通过使用C++中的protected访问控制符来实现派生类继承基类的数据成员和成员函数。在使用时,可以根据需要使用派生类或基类来进行操作,使得代码具有更好的可拓展性和可读性。

  
  

评论区

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