| 背景色yellow |
那么怎么样既要保证这个类的完整性,又防止其他类的继承呢?
- 这就要借助友元来实现,因为友元是不可以被继承的。如果一个类的构造函数要借助它的友元类,那么继承了这个类的类就无法构造自己的对象。从而杜绝了被继承。
#include <iostream>
using namespace std;
class C;
class base
{
private:
base() {}
friend class C; //设class C为class BASE的友元
};
class C : public virtual base {};
class D :public C {};
int main()
{
C c;
D d; // 不可以实例化对象
}``
博客探讨了如何保证类的完整性并防止其他类继承的问题。提出借助友元来实现,因友元不可被继承,若类的构造函数借助友元类,继承该类的类就无法构造自身对象,从而杜绝被继承。
2014

被折叠的 条评论
为什么被折叠?



