Mail Archives: djgpp/1998/01/16/20:15:46
From: | NOSPAMsl AT psycode DOT com (Gili)
|
Newsgroups: | comp.os.msdos.djgpp,comp.os.os2.programmer.misc,gnu.gcc.help
|
Subject: | C++ problem -- Over 30 people were unable to help me, can you?!
|
Date: | 17 Jan 1998 00:51:46 GMT
|
Organization: | Generation.NET
|
Lines: | 27
|
Message-ID: | <bWLoegW7sFse-pn2-d679pGp6mnys@portD23.Generation.NET>
|
Reply-To: | NOSPAMsl AT psycode DOT com
|
NNTP-Posting-Host: | portD23.Generation.NET
|
Mime-Version: | 1.0
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Hi,
I created a class called File() which inherites fstream() publically
(i.e. class File : public fstream)
I'd like to call fstream()'s constructor whenever File()'s constructor
is called. However, I have run into a major problem.
I can call the constructor in this way:
"
File::File(const char* name, int mode, int prot):
fstream(name, mode, prot)
{
<body goes here>
}
"
However, I'd like to use exception-handling and that isn't possible
in the constructor initialization. What I'd like to do is to be able
to call the fstream() constructor from the body of File()'s
constructor. This would allow me to use exception-handling... However,
simply calling fstream() in the body seems to make C++ think I'm
creating an fstream() variable instead of calling the constructor.
Also, when I try using ::fstream() to call the constructor, the call
*seems* to work but my file does not open correctly (which it does
when fstream() is called from the constructor initialization.) Does
anyone have any idea how this problem could be solved?
Gili
- Raw text -