From 474309ba498dcd8be0c4f29ccb3c2f9914299191 Mon Sep 17 00:00:00 2001 From: Pagwin Date: Wed, 11 Dec 2024 12:53:09 -0500 Subject: [PATCH] implemented track fully just need to do test code for it --- .gitignore | 2 +- track.cpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 track.cpp diff --git a/.gitignore b/.gitignore index f64677d..98629db 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ i s - +t diff --git a/track.cpp b/track.cpp new file mode 100644 index 0000000..3af2fa3 --- /dev/null +++ b/track.cpp @@ -0,0 +1,30 @@ +#include +#include +class A { + long long counter = 0; + +public: + A() : counter{0} {} + A operator()() { + A ret = *this; + ret.counter++; + return ret; + } + A operator[](int dummy) { + A ret = *this; + ret.counter--; + return ret; + } + friend std::ostream &operator<<(std::ostream &lhs, A const &rhs) { + lhs << rhs.counter; + return lhs; + } +}; + +int main(void) { + A a; + std::cout << a[0] << std::endl; + std::cout << a[0]() << std::endl; + std::cout << a[0]()() << std::endl; + return 0; +}