Click here to Skip to main content
13,093,097 members (64,665 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Hi All

I want to know how to destroy objects in VC++
AS i create a function

 public :
    void add(-------)

// Another file using test.h
#include "classtest.h"
#include "test.h"
void classtest::testObjects(-------) 
  test testObj1;

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

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

1 solution

Rate this: bad
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 not deleted, this will cause a memory leak!

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

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web04 | 2.8.170813.1 | Last Updated 14 May 2012
Copyright © CodeProject, 1999-2017
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