How to access static class data member using non-static member function in C++

1 Answer

0 votes
#include <iostream>

using std::cout;
using std::endl;

#define TOTAL 3

class Animal {
private:
	static int sCount;
public:
	Animal() { sCount++; }
	virtual ~Animal() { sCount--; }
	virtual int GetStaticCounter() { return sCount; }
};

int Animal::sCount = 0;

int main()
{
	Animal *oArray[TOTAL];

	for (int i = 0; i < TOTAL; i++)
	{
		oArray[i] = new Animal();
		cout << oArray[i]->GetStaticCounter() << endl;
	}

	for (int i = 0; i < TOTAL; i++)
	{
		cout << oArray[i]->GetStaticCounter() << endl;
		delete oArray[i];
		oArray[i] = NULL;
	}

	return 0;
}


/*
run:

1
2
3
3
2
1

*/

 



answered Mar 12, 2018 by avibootz

Related questions

1 answer 182 views
1 answer 192 views
1 answer 175 views
1 answer 217 views
1 answer 172 views
...