在项目中,发现很多子类调用父类构造函数的情况,现在特地来熟悉一下:

#include <iostream>
using namespace std;

class A
{
public:
	int a;
	int b;
	
public:
	A():a(0), b(0)
	{
		cout << "default A constructor" << endl;
	}

	A(int x, int y):a(x), b(y)
	{
		cout << "A constructor" << endl;
	}
};

class B : public A
{
public:
	int c;

public:
	B():A(), c(0)
	{
		cout << "default B constructor" << endl;
	}

	B(int x, int y, int z):A(x, y), c(z)
	{
		cout << "B constructor" << endl;
	}
};

int main()
{
	B b1;
	cout << b1.a << endl;	
	cout << b1.b << endl;
	cout << b1.c << endl;

	B b2(1, 2, 3);
	cout << b2.a << endl;	
	cout << b2.b << endl;
	cout << b2.c << endl;

	return 0;
}

 


本文转载:CSDN博客