关于c++禁止继承的有关问题

关于c++禁止继承的问题
请问我用以下方法来实现c++中类的禁止继承是否正确呢?
class A
{
  friend class B;
  private:
  A(){}
  ~A(){}
};

class B:virtual class A
{
};

class C:public B
{
};

禁止C继承B


------解决方案--------------------
父类的构造函数为private时,就禁止继承了 。。。
------解决方案--------------------
class B:virtual class A
{
};
这个virtual这是什么东西 ,好像还没听所过virtual继承

你不想让C继承B 那就不继承不就行了
我不明白你禁止继承是什么意思
------解决方案--------------------
父类构造为private非常不好,那父类自己也不能实例化了。

------解决方案--------------------
你这个B虚继承也是失败的吧
------解决方案--------------------
探讨

引用:

父类的构造函数为private时,就禁止继承了 。。。


那就无法实例化了

------解决方案--------------------
c++中有一个关键字:sealed
当你如下定以一个类时:
sealed class A
{
public:
A(){}
}

类A就不允许被继承了
------解决方案--------------------
探讨

引用:

父类的构造函数为private时,就禁止继承了 。。。


那就无法实例化了

------解决方案--------------------
或者也可以这样:

class B:private virtual class A
{
};

此时,类B也不可以被继承
------解决方案--------------------
C/C++ code
#include <iostream>
#include <stdlib.h>




using namespace std;


class Singleton
{
private:
         Singleton()                                            // private构造函数
         {
                   cout << "Singleton::Constructor" << endl;
         }
 
         static Singleton* sg;                               // 私有静态变量,其类型为Singleton*
                                                                     // 形如Singleton sg;这样的声明会出编译时错误
public:
         static Singleton* getInstance()                 // public成员函数getInstance()
         {
                   cout << "Singleton::getInstance" << endl;
                   if(!sg)
                   {
                            sg = new Singleton();           // (1)在这个地方new了一个对象,但是在什么地方delete呢?
                   }
 
                   return sg;
         }
};


Singleton* Singleton::sg = 0;
int main(void)
{
         Singleton *sg = Singleton::getInstance();
 
         return 0;
}

------解决方案--------------------
http://blog.csdn.net/liuxizhiyi/article/details/3201128
------解决方案--------------------
你这个就不但禁止继承 而且还禁止在栈上创建对象。
------解决方案--------------------
http://www.cppblog.com/sunus/archive/2007/08/14/17532.html
------解决方案--------------------
sealed是.net里面的吧??是不是需要托管才能用??