类的初始化顺序实例

#include <iostream>
using namespace std;

class A{
public:
	A(int a){
		cout << a << "...." << endl;
	}
};
class B:virtual public A{
public:
	B(int a,int b,int c):aa(b),A(a){
		cout << c << "..." << endl;
	}
	virtual void func(){
		cout << "B..." << endl;
	}
private:
	A aa;
};

int main(){
	B(1,2,3);//先A,再aa,最后B;在这个基础上只看声明顺序而非在列表中顺序来初始化

	return 0;
}

发布了231 篇原创文章 · 获赞 36 · 访问量 142万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章