• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 197
  • Last Modified:

Simple Class Question

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
Torrwin
Asked:
Torrwin
  • 2
1 Solution
 
jkrCommented:
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
 
jkrCommented:
BTW, see also http://www.cplusplus.com/doc/tutorial/dynamic/ for more on that issue.
0
 
Infinity08Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now