James.Reilly@tel.vtt.fi (Jim Reilly) (11/22/90)
Hey,
I just got ObjectWorks C++ (1.02) that uses Cfront (2.0).
I am having problems porting some code that constructs istreams
from existing istreams.
For example:
#include <iostream.h>
main() {
istream output(cout);
}
gives:
put:"j.c", line 6: error: ostream::ostream() cannot access ios::ios():
private member
What I'm trying to do is something like this:
class Ostream {
private: ostream& os;
public: Ostream (ostream& out) : os(out) {}
// ...
};
Some Questions:
Q1: Is there some reason why I shouldn't be able to construct streams
from other streams, using the X(const X&) constructor ?
Q2: Does anyone have any suggestions for what I should do in this case ?
Q3: Has think been fixed in Cfront 2.1+ ?
It seems to me much of this could be resolved if I could simply read
the fd of the stream, but I don't think I can do this for an ostream/istream
without cheating (unless it is an ifstream or ofstream), or am I just
being brain dead and missing something completely obvious ?
If anyone has any other helpful comments/hints/suggestions regarding the
AT&T streams library, I'd be grateful to see them, as I don't have an
AT&T Refernece Manual for Cfront available.
please respond via e-mail to reilly@tel.vtt.fi, as I don't
read NetNews too often.
thanks !
jim
--
Internet Mailbox: James.Reilly@tel.vtt.fi
UUCP Mailbox: ...!{mcsun, uunet}!tel.vtt.fi!reillyJames.Reilly@tel.vtt.fi (Jim Reilly) (11/22/90)
Oooops,
Of course I meant to construct istreams from istreams and
ostreams from ostreams (and not as I fat-fingered in my first post) :
istream input(cin);
ostream output(cout);
class Ostream {
private:
ostream& os;
public:
Ostream (ostream &out) : os(out) {}
...
Sorry,
jim
--
Internet Mailbox: James.Reilly@tel.vtt.fi
UUCP Mailbox: ...!{mcsun, uunet}!tel.vtt.fi!reilly