Solved

Simple Class Question

Posted on 2009-04-08
3
187 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: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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

Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

828 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