From 7924ee2a62a174967d459ca7814b996a06cd1be4 Mon Sep 17 00:00:00 2001 From: Eric Teunis de Boone Date: Thu, 12 Dec 2019 17:12:47 +0100 Subject: [PATCH] Ex3.4: Static Class Counter --- ex3.4/Counter.cc | 9 +++++++++ ex3.4/Counter.hh | 18 ++++++++++++++++++ ex3.4/main.cpp | 19 +++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 ex3.4/Counter.cc create mode 100644 ex3.4/Counter.hh create mode 100644 ex3.4/main.cpp diff --git a/ex3.4/Counter.cc b/ex3.4/Counter.cc new file mode 100644 index 0000000..59d5393 --- /dev/null +++ b/ex3.4/Counter.cc @@ -0,0 +1,9 @@ +// Counter.cc + +#include "Counter.hh" + +int Counter::getCounter() { + return counter; +} + +int Counter::counter = 0 ; diff --git a/ex3.4/Counter.hh b/ex3.4/Counter.hh new file mode 100644 index 0000000..da1ad38 --- /dev/null +++ b/ex3.4/Counter.hh @@ -0,0 +1,18 @@ +// Counter.hh + +#ifndef COUNTERHH +#define COUNTERHH + +class Counter +{ + public: + Counter(){ counter++ ; } + ~Counter(){ counter-- ; } + + static int getCounter(); + + + static int counter ; + +}; +#endif diff --git a/ex3.4/main.cpp b/ex3.4/main.cpp new file mode 100644 index 0000000..4b475e1 --- /dev/null +++ b/ex3.4/main.cpp @@ -0,0 +1,19 @@ +#include +#include "Counter.hh" + +using namespace std; + +int main() { + Counter a ; + Counter b ; + + cout << "there are now " + << Counter::getCounter() + << " Counter objects" << endl; + + if (true) { + Counter c; + cout << " and now " << Counter::getCounter() ; + } + cout << " and now " << Counter::getCounter() << endl ; +}