5.#
点击查看考点
生命期
1#include <iostream>
2#include <string>
3
4using namespace std;
5
6template <typename T>
7class A {
8 public:
9 A(T input_value) {
10 this->value_ = input_value;
11 count_++;
12 }
13
14 ~A() {
15 count_--;
16 }
17
18 static int show_number() {
19 cout << "Count is: " << count_ << '\n';
20 return count_;
21 }
22
23 T show_value() {
24 cout << value_ << '\n';
25 return value_;
26 }
27
28 private:
29 static int count_;
30
31 T value_;
32};
33
34template <typename T>
35int A<T>::count_ = 0;
36
37int main() {
38 A<int> a1(92), a2(93), a3(95);
39 A<int>::show_number();
40 A<std::string> s1("92");
41 A<std::string>* s = new A<std::string>("93");
42 A<std::string>::show_number();
43 delete s;
44 A<std::string>::show_number();
45 a3.show_value();
46 s1.show_value();
47 return 0;
48}