Talk About Network

Google





Programming > C - C++ Learning > Re: very newbie...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 4 Topic 4085 of 4400
Post > Topic >>

Re: very newbie question about object creation count

by "Jim Langston" <tazmaster@[EMAIL PROTECTED] > Mar 26, 2008 at 01:13 PM

john wrote:
> I have not been able to figure out why this ends up with a negative
> object count (the class
> counts how many objects there are). I am sure this is obvious to
> everyone else. Could someone please
> point out why the count is not correct. Sorry to ask such a dumb
> question.
>
> It gives the output:
>
> Constructor called, so we have 1 TestClass objects.
> Destructor called so we will have 0 TestClass objects.
> Destructor called so we will have -1 TestClass objects.
>
> Here is the code:
>
> #include<iostream>
>
>
> class TestClass {
>       public:
>               static int activeObjects; // How many of this type of
> object were constructed
>
>               TestClass() {      // default constructor
>                       activeObjects ++;
>                       std::cout << "Constructor called, so we have "
> << activeObjects << " TestClass objects.\n";
>               }
>               TestClass( const TestClass & rhs ) {      // copy
> constructor
>                       activeObjects ++;
>                       std::cout << "Copy constructor called, so we
> have " << activeObjects << " TestClass objects.\n";
>               }
>               ~TestClass() {      // destructor
>                       activeObjects--;
>                       std::cout << "Destructor called so we will have
> " << activeObjects << " TestClass objects.\n";
>               }
> };
>
> int TestClass::activeObjects = 0;
>
> int main() {
>       TestClass object = TestClass();
>       object.~TestClass();
>
> }

Because you are calling the destructor on the object manually.  That does 
not delete the object, it just calls the destructor.  then when the object

goes out of scope, when it is deleted the destructor is called.

-- 
Jim Langston
tazmaster@[EMAIL PROTECTED]

 




 4 Posts in Topic:
very newbie question about object creation count
john <johnmortal.forum  2008-03-26 12:46:15 
Re: very newbie question about object creation count
"Jim Langston"   2008-03-26 13:13:00 
Re: very newbie question about object creation count
john <johnmortal.forum  2008-03-26 13:17:57 
Re: very newbie question about object creation count
"Vijaya Kumar B.H.&q  2008-03-31 13:35:50 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
localhost-V2008-12-19 Wed Jan 7 14:17:21 PST 2009.