Talk #3188 » ex5_counter.cpp
1 |
/*
|
---|---|
2 |
* Created: 05-02-2016
|
3 |
* Modified: Fri 05 Feb 2016 11:26:13 CET
|
4 |
* Author: Jonas R. Glesaaen (jonas@glesaaen.com)
|
5 |
*/
|
6 |
|
7 |
#include<iostream>
|
8 |
|
9 |
template <typename Type> |
10 |
class Counter |
11 |
{
|
12 |
public:
|
13 |
Counter() |
14 |
{
|
15 |
++instances; |
16 |
}
|
17 |
|
18 |
~Counter() |
19 |
{
|
20 |
--instances; |
21 |
}
|
22 |
|
23 |
static unsigned instances; |
24 |
};
|
25 |
|
26 |
class A : public Counter<A> {}; |
27 |
class B : public Counter<B> {}; |
28 |
|
29 |
template <typename Type> |
30 |
unsigned Counter<Type>::instances = 0; |
31 |
|
32 |
int main(int, char**) |
33 |
{
|
34 |
A a1, a2, a3, a4; |
35 |
B b1, b2; |
36 |
std::cout << Counter<B>::instances << std::endl; |
37 |
}
|
- « Previous
- 1
- …
- 5
- 6
- 7
- Next »