C++类的继承是指子类从父类继承属性和方法,从而实现父子类之间的数据共享和继承关系。C++中实现类的继承关系,主要有以下几种方式:
1. 私有继承(private inheritance)
class A { public: int a; }; class B:private A { public: void setA(int a) { this->a = a; } };
私有继承,也叫做“has-a”关系,也就是子类拥有父类的属性和方法,但是不能被外部访问。子类可以定义新的属性和方法,但是不能覆盖父类的属性和方法。
2. 公有继承(public inheritance)
class A { public: int a; }; class B:public A { public: void setA(int a) { this->a = a; } };
公有继承,也叫做“is-a”关系,也就是子类拥有父类的属性和方法,并且可以被外部访问。子类可以定义新的属性和方法,也可以覆盖父类的属性和方法。
3. 保护继承(protected inheritance)
class A { protected: int a; }; class B:protected A { public: void setA(int a) { this->a = a; } };
保护继承,也叫做“is-a”关系,也就是子类拥有父类的属性和方法,但是不能被外部访问。子类可以定义新的属性和方法,也可以覆盖父类的属性和方法。
4. 多重继承(multiple inheritance)
class A { public: int a; }; class B { public: int b; }; class C:public A, public B { public: void setA(int a) { this->a = a; } void setB(int b) { this->b = b; } };
多重继承,也叫做“is-a”关系,也就是子类拥有多个父类的属性和方法,并且可以被外部访问。子类可以定义新的属性和方法,也可以覆盖父类的属性和方法。
C++中实现类的继承关系,可以使用私有继承、公有继承、保护继承和多重继承等方式,从而实现父子类之间的数据共享和继承关系。