C++ 继承学习笔记
什么是继承?
继承是一种面向对象编程中的重要概念,它允许派生类(子类)继承基类(父类)的属性和方法。在C++中,可以使用关键字class
或struct
定义一个类(可以包括变量、函数等成员),同时使用关键字public
、private
、protected
控制这些成员的可见性。
继承关系分为三种:公共继承、私有继承和保护继承。公共继承意味着派生类可以访问基类的公共成员,私有继承意味着派生类不能访问基类的任何成员,保护继承意味着派生类可以访问基类的保护成员。
如何使用继承?
使用继承的语法为:
c++Copy Codeclass DerivedClass : public BaseClass
{
//...
};
其中,DerivedClass
是派生类的名称,BaseClass
是基类的名称,public
表示继承方式为公共继承。
通过继承,派生类会自动获得基类的成员变量和方法,可以直接访问和调用。此外,派生类还可以覆盖(override)基类的方法(前提是基类方法为虚函数)。
实例
下面是一个使用继承的实例:
c++Copy Code#include <iostream>
using namespace std;
class Parent
{
public:
void publicMethod()
{
cout << "This is a public method." << endl;
}
private:
void privateMethod()
{
cout << "This is a private method." << endl;
}
protected:
void protectedMethod()
{
cout << "This is a protected method." << endl;
}
};
class Child : public Parent
{
public:
void test()
{
publicMethod(); // 可以访问基类的公共成员
//privateMethod(); // 不能访问基类的私有成员
protectedMethod(); // 可以访问基类的保护成员
}
};
int main()
{
Child c;
c.test();
return 0;
}
输出结果为:
Copy CodeThis is a public method.
This is a protected method.
从上面的例子可以看出,派生类Child
可以访问基类Parent
的公共和保护成员,但不能访问基类的私有成员。