Solved

Simple Class Question

Posted on 2009-04-08
3
188 Views
Last Modified: 2012-05-06
Hello,

I am an experienced VB.NET programmer, trying to get a handle on C++ (console only, not Visual C++).  I am having a problem with using classes.

In VB.NET you can globally declare an instance of a class that's not initialized.   Then, later on, when an event occurs you can initialize it.  (e.g. MyString = New String)  It will then execute the code in the constructor.

How can I accomplish this in C++?

Thanks,
-Torrwin


int _tmain(int argc, _TCHAR* argv[])
{
	//Declare a global instance of the File class
         File myFile;
 
	cout << "Please select one of the following options:\n";
	cout << "1) Setup a File\n";
	
	cin >> iChoice;
 
	if (iChoice == 1) 
	{
                  //This next line doesn't work in C++, what should it be?
	         myFile = New File;
	}
	else
	{
		cout << "Invalid choice.\n";
	}
 
	return 0;
}

Open in new window

0
Comment
Question by:Torrwin
  • 2
3 Comments
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 24098856
In your cade, you would use the 'new' operator along with a pointer, e.g.
int _tmain(int argc, _TCHAR* argv[])
{
        //Declare an instance of a File class pointer
         File* myFile;
 
        cout << "Please select one of the following options:\n";
        cout << "1) Setup a File\n";
        
        cin >> iChoice;
 
        if (iChoice == 1) 
        {
                  
                 myFile = new File;
        }
        else
        {
                cout << "Invalid choice.\n";
        }
 
        delete myFile; // required to not create memory leaks
 
        return 0;
}

Open in new window

0
 
LVL 86

Expert Comment

by:jkr
ID: 24098892
BTW, see also http://www.cplusplus.com/doc/tutorial/dynamic/ for more on that issue.
0
 
LVL 53

Expert Comment

by:Infinity08
ID: 24099749
Make sure to initialize the pointer to 0 when declaring it. Or, in jkr's code, the delete at the end of main might cause unexpected results.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question