用C++实现设计一个类Foo,可以统计当前已生成且处于活动状态的对象个数,使得该类的对象最多不能超过3个以下为程序输出: 创建第1个对象 创建第2个对象 当前对象数:2 创建第3个对象 当前对象数:2
时间: 2024-05-11 07:14:33 浏览: 61
```c
#include <stdio.h>
// 定义类Foo
typedef struct Foo {
int active_count; // 活动对象个数
int max_count; // 最大对象个数
} Foo;
// 初始化类Foo
Foo init_foo(int max_count) {
Foo foo;
foo.active_count = 0;
foo.max_count = max_count;
return foo;
}
// 创建对象
int create_object(Foo *foo) {
if (foo->active_count >= foo->max_count) {
return 0; // 超过最大对象数,创建失败
}
foo->active_count++;
printf("创建第%d个对象\n", foo->active_count);
printf("当前对象数:%d\n", foo->active_count);
return 1; // 创建成功
}
// 销毁对象
void destroy_object(Foo *foo) {
if (foo->active_count > 0) {
foo->active_count--;
}
}
int main() {
Foo foo = init_foo(3); // 最多创建3个对象
create_object(&foo); // 创建第1个对象
create_object(&foo); // 创建第2个对象
create_object(&foo); // 创建第3个对象,失败
destroy_object(&foo); // 销毁第2个对象
create_object(&foo); // 创建第3个对象,成功
return 0;
}
```