C++静态变量本身可否是一个实例对象

一般书上总是用int来举例,那个太简单。如果静态变量本身可否是一个实例对象呢?应该是可以,但是这样涉及到它的构造函数以及它内部的静态变量如何初始化两个问题,换而言之,这个静态变量本身应该如何初始化?这个问题和单例模式有些关系,回头查查。

以下是一个不成熟的例子,但是能编译运行通过。

#include "stdafx.h"

#include <iostream>
using namespace std;

class AAA
{
public:
    static int sss;
    int ddd;
};
int AAA::sss = 20;

class myClass  
{  
public:  
    static AAA* a;  
    static AAA bbb;
    myClass()  
    {  
    }  
};  
AAA* myClass::a = new AAA(); 
//int (myClass::a)->sss = 20; 

int main()  
{  
       cout << myClass::a->sss;  
       getchar();
       return 0;  
}  

 

posted @ 2014-10-06 23:30  findumars  Views(991)  Comments(0Edit  收藏  举报