C++中如何使得一个类不可以被继承

1 使用final

EG:

class B final
{

};

2 使用友元类和虚继承

EG:

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

class B:virtual public A
{

};

上述示例中,类B不可以被继承,因为如果一个类继承了B,由于B虚继承A,所以这个继承B的类在构造的时候必须调用A的构造函数,但是由于类A的构造函数为私有类型,所以矛盾

发布了123 篇原创文章 · 获赞 31 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/103914861
今日推荐