5.

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}