/
githubmirror
/
CPlusPlusThings
Обзор
Документация
Войти
/
githubmirror
/
CPlusPlusThings
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
practical_exercises/10_day_practice/day5/virtual/init.cpp
39 строк
673 B
zhangxing
support bazel complie this project and format code.
30 мар 2024, 17:00
30 мар 2024, 17:00
3c8a3f2
Код
Авторство
О чём код?
/* 派生类初始化.cpp */ #include <iostream> using namespace std; class A { int a; public: A(int x) { a = x; cout << "Virtual Bass A..." << endl; } }; class B : virtual public A { public: B(int i) : A(i) { cout << "Virtual Bass B..." << endl; } }; class C : virtual public A { int x; public: C(int i) : A(i) { cout << "Constructing C..." << endl; x = i; } }; class ABC : public C, public B { public: //虚基类由最终派生类初始化 ABC(int i, int j, int k) : C(i), B(j), A(i) // L1,这里必须对A进行初始化 { cout << "Constructing ABC..." << endl; } }; int main() { ABC obj(1, 2, 3); return 0; }