Cómo hacer que una clase no se pueda heredar en C ++

1 Uso final

P.EJ:

class B final
{

};

 

2 Use clase amiga y herencia virtual

P.EJ:

class A
{
private:
	A()
	{
		cout << "A" << endl;
	}
	friend class B;
};

class B:virtual public A
{

};

En el ejemplo anterior, la clase B no se puede heredar, porque si una clase hereda B, porque B virtual hereda A, la clase que hereda B debe llamar al constructor de A cuando construye, sino porque el constructor de la clase A Tipo privado, tan contradictorio

123 artículos originales publicados · 31 elogiados · 90,000 vistas +

Supongo que te gusta

Origin blog.csdn.net/qq_40794602/article/details/103914861
Recomendado
Clasificación