#include <iostream>
using namespace std;
class CA
{
public:
CA() {myown = num; queue[myown] = rand(); num++;}
void show() {printf("%d:%d/n", myown, queue[myown]);}
static int num;
protected:
static int *queue;
int myown;
class CGarbage
{
public:
CGarbage()
{
if(queue == NULL)
{
queue = new int[20];
puts("allocation");
}
}
~CGarbage()
{
if(queue != NULL)
{
delete []queue;
puts("deallcation");
}
}
};
friend class CGarbage;
static CGarbage gab;
};
int* CA::queue = NULL;
int CA::num = 0;
CA::CGarbage CA::gab;
int main()
{
CA a;
CA b;
CA c;
a.show();
b.show();
c.show();
printf("have %d/n", CA::num);
return 0;
}
c++ 静态成员 分配回收空间
最新推荐文章于 2023-05-18 02:15:36 发布