Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VC6
Hi All
 
I want to know how to destroy objects in VC++
AS i create a function
 

//test.h

test
{
 public :
    void add(-------)
}
 

// Another file using test.h

#include "classtest.h"
#include "test.h"
 
void classtest::testObjects(-------) 
{
 
  test testObj1;
    testObj1.add(------)
 

// now here i want to destroy the object testObj1 how to destroy it.

}
 
 
plz Help
Posted 13-May-12 21:18pm
prog786374
Comments
samimaa786 at 14-May-12 2:20am
   
Also i wana know how delete and recreate the objects

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

In your example above, since the class instance is created on the stack, it is automatically deleted when the function ends, since it goes out of scope.
I.e - your object no longer consumes memory after the closing brace } of the function.
 
As for creating and deleting objects, you could do so like this:
 
test *testObj;
testObj = new test;
..
some operations using testObj
..
delete testObj;
 
Note, that when you create objects like this they will NOT be automatically deleted when they go out of scope. (The 4bytes(on a 32bit sys) used to point to the object will be returned to the stack, but the memory consumed by the class object itself, won't be)
 
If you were to change your code above to:
void classtest::testObjects(-------) 
{
 
  test *testObj1 = new test;
  testObj1->add(------)
// testObj1 not deleted, this will cause a memory leak!
}
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Mathew Soji 309
1 BillWoodruff 300
2 Afzaal Ahmad Zeeshan 252
3 DamithSL 225
4 Maciej Los 215
0 OriginalGriff 6,249
1 Sergey Alexandrovich Kryukov 5,853
2 DamithSL 5,183
3 Manas Bhardwaj 4,673
4 Maciej Los 3,865


Advertise | Privacy | Mobile
Web02 | 2.8.1411019.1 | Last Updated 14 May 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100