举例自定义类型中含constructor、map,static,member的
时间: 2023-08-19 07:04:00 浏览: 105
自定义控件的例子
5星 · 资源好评率100%
好的,我可以给你一个简单的例子:
```c++
#include <iostream>
#include <map>
using namespace std;
class Person {
private:
string name;
int age;
static int count;
public:
Person(string n, int a) : name(n), age(a) {
count++;
}
void print() {
cout << "Name: " << name << ", Age: " << age << endl;
}
static int getCount() {
return count;
}
};
int Person::count = 0;
int main() {
map<int, Person> people;
people[1] = Person("Tom", 20);
people[2] = Person("Jerry", 18);
people[3] = Person("Alice", 22);
cout << "Number of people: " << Person::getCount() << endl;
for (auto p : people) {
cout << "ID: " << p.first << ", ";
p.second.print();
}
return 0;
}
```
这个例子中,定义了一个 `Person` 类,含有一个带有 `string` 和 `int` 参数的构造函数,以及一个 `print` 成员函数。另外还有一个静态成员变量 `count` 和一个静态成员函数 `getCount`,用于统计 `Person` 类的实例数量。然后利用 `std::map` 容器来存储多个 `Person` 实例,可以通过遍历容器来输出每个实例的信息。
阅读全文