1、C++ 继承(子类和父类)
在C ++中,可以将属性和方法从一个类继承到另一个类。继承分为两类:
派生类(子类):从另一个类继承的类
基类(父类):从其继承的类
要从类继承,需要使用:符号。
例如,
#include <iostream> using namespace std; class MyClass { // class public: // 访问修饰符 MyClass() { // 构造函数 cout << "Hello World!"; } }; int main() { MyClass myObj; // 创建MyClass的一个对象(会调用构造函数) return 0; }
2、C++ 多继承
上面的继承只是从一个基类继承,如果一个类有多个基类,这样的继承关系称为多继承。
语法:
class 派生类名: 访问控制符 基类名1,访问控制符 基类名2
{
数据成员和成员函数声明;
}
例如,
#include <iostream> using namespace std; //C++提供虚继承机制,防止类继承关系中成员访问的二义性。 //当类中出现virtual时,C++编译器会对象添加一个vptr指针,同时会产生一个虚函数表 class A { public: int x; //4 public: A() { cout << "A" << endl; } }; class B:virtual public A { int b; //4 public: B(int x) { this->x = 10; cout << "B" << endl; } }; class C :virtual public A { int c; //4 public: C(int x) { this->x = 20; cout << "C" << endl; } }; class D :public B,public C { int d; //4 public: D(int x):B(10),C(20) { this->x = 30; cout << "D" << endl; } }; int main() { cout << sizeof(A) << endl; //4 cout << sizeof(B) << endl; //12 cout << sizeof(C) << endl; //12 cout << sizeof(D) << endl; //24 return 0; }