[comp.lang.c++] <None>

harst@iravcl.ira.uka.de (02/04/88)

Hello !

I'd be rather interrested in having either a complete and recent
Definition of the C++ standard or even better a PD implementation
in C source.The only real catch is , that being here in Karlsruhe,
Germany, getting in contact or reaching somebody who mails is a
little difficult.So , if possible , give me a local address.

Thanks for reading and even more for any answer , that could
be helpful.

Yours sincerly
               Michael Wohlwend

djones@megatest.UUCP (Dave Jones) (02/09/88)

in article <47@iravcl.ira.uka.de>, harst@iravcl.ira.uka.de says:
> Posted: Thu Feb  4 15:43:17 1988
> Organisation: Universitaet Karlsruhe, IRA, F.R. Germany
> 
> Hello !
> 
> I'd be rather interrested in having either a complete and recent
> Definition of the C++ standard ...

So would I.  So would I.

Anybody at ATT got your ears on?  Bjarne, you there?

Is anyone working on such a thing?  Or is C++ standardization 
going to follow the example of every other language you can think of and 
wind up mired in a committee years from now?  Perhaps a committee which
wants to redefine the language?  Now's the time!  (Hip. Hip. Rally 'round.)

To those who say, "The language is still evolving. It is too early for
a standard. Let's use MY version of the compiler as a defacto standard,
for the time being," I would like to say, "Phfghtt!"  But of course,
I am far too polite to say that. :-)

Write out a standard language definition now.  If you add features, ammend 
the standard.  If (perish the thought) you find that you have to change the
way something works or remove a feature, then change the definition.  It's not
a happy thing to do, but at least there is an "audit" trail recording the
changes.


		- djones

bs@alice.UUCP (02/11/88)

	(djones @ Megatest Corporation, San Jose, Ca) writes:

 > in article <47@iravcl.ira.uka.de>, harst@iravcl.ira.uka.de says:
 > > Posted: Thu Feb  4 15:43:17 1988
 > > Organisation: Universitaet Karlsruhe, IRA, F.R. Germany
 > > 
 > > Hello !
 > > 
 > > I'd be rather interrested in having either a complete and recent
 > > Definition of the C++ standard ...
 > 
 > So would I.  So would I.
 > 
 > Anybody at ATT got your ears on?  Bjarne, you there?
 > 
 > Is anyone working on such a thing?

	I'm here and I'm working on it. We are trying to ferret out all
	the dark corners and get them specified. We need a complete,
	comprehensible and generally available description of C++; one
	that doesn't change all the time and one that isn't merely a
	description of a product. We will get it. However, such things
	do take time, so don't be too impatient. The only thing worse
	than reading a reference manual is writing one.

SRWMRBD@windy.dsir.govt.nz (ROBERT) (10/11/89)

Is anyone using PforCe++?

PforCe++ is a product for MsDOS consisting of a large number of
C++ routines for building special purpose data-base systems. It
included routines for making b-trees, hash searching, and screen and
keyboard interfaces.

The copy I purchased was for Glockenspiel C++ version 1.1x and
Microsoft C version 4.

It doesn't work under the latest version of Glockenspiel C++ and
Microsoft C 5. (I have recompiled the source but I haven't tried very hard
to do any translation, possibly the problem is in the mixing of C and
C++ routines).

PforCe++ is now a discontinued product, and I get there impression that
there is no help from the present owner (Polytron Corp).

So has anyone out there updated PforCe++?
    

kjh@visual1.jhuapl.edu (Kenneth J. Heeres) (11/05/90)

Subject:C++ compilers for VMS 
Date: Fri, 2 Nov 90 18:35:00 GMT

We are looking for a C++ compiler for VMS.  Does anybody have any 
recomendations?  A plus would be if the compiler is also available
under Unix.

thanks

ken

chaloux@maestro.mitre.org (Dave Chaloux) (05/28/91)

I am new to C++ and have come across the following problem. Say that you
are building a communications program and you have two different kinds of
ports you must read and two kinds of messages that are naturally associated
with each port. In otherwords you have a Port_A class and a Port_B class.
They read and write respectively Message_A class objects and Message_B class
objects. Now say that you want to write your program such that you can
write a message to a port without knowing the kind of port or the kind of
message. No problem. Have a base Message class and a base Port class. Have
virtual functions for the Port class that write Message_A and Message_B type
objects. Now have a write virtual function for class Message that takes as
an argument an object of type Port. Now we might write the message as
follows:

message->write(&port_object)

Since a class derived from a parent class can be used in place of the parent
class, it doesn't matter whether the port_object is a Port_A object or a 
Port_B object. The appropriate function for either Port_A or Port_B gets called
depending on whether the message was a Message_A or Message_B message. The
message gets written and everyone is happy, EXCEPT THE COMPILER.
To set this up, class Port needs to know about Message_A class and Message_B
class. Message_A and Message_B class need to know about type Port.

Now imagine you have your include files. The header for class Message_A includes
Port.h . The header for Port has to include Message_A.h . When compiling, one
of the class definitions is going to come first and the definition for the
other class is undefined. OUCH.

WHERE AM I MISSING THE BOAT?

This problem must have come up before. Is there a standard way for solving it?
The only method I can figure out is to have two different header files for one
of the classes. The one file has no function definitions in it. Therefore it does
not need to include the header file for the other class. This header file can then
be included by the other class without things breaking.

Thanks in advance.

rmartin@clear.com (Bob Martin) (06/06/91)

In article <1991May28.162856.12685@linus.mitre.org> chaloux@maestro.mitre.org (Dave Chaloux) writes:
... Paraphrase...
	[Dave has base class for ports and a base class for messages and wants
	all derived ports and messages to support the following semantics:]
>
>message->write(&port_object)

> [... stuff deleted...]

>To set this up, class Port needs to know about Message_A class and Message_B
>class. Message_A and Message_B class need to know about type Port.
>
>Now imagine you have your include files. The header for class Message_A includes
>Port.h . The header for Port has to include Message_A.h . When compiling, one
>of the class definitions is going to come first and the definition for the
>other class is undefined. OUCH.
>
>WHERE AM I MISSING THE BOAT?
>

Dave:

Try this:
	
	----------------  message.h ----------------
	class Port; // declaration of class port.. #include "port.h" not needed.

	class Message
	{
		...
		void write(Port&);	
		...
	};

	--------------- port.h ----------------------
	class Message; // declaration again.  #include "message.h" not needed

	class Port
	{
		...
		void write(Message&);
		...
	}

	----------------- message.cc --------------
	#include "message.h"
	#include "port.h" // message implementation needs to know port semantics.
	void Message::write(Port& thePort)
	{
		thePort.write(*this);
	}

	------------------ port.cc ----------------
	#include "port.h"
	void Port::write(Message& theMessage)
	{
		... whatever ports do.
	}

In general the following rule will help keep you out of trouble...
	If the specification of a class does not need to know the semantics of 
	one of its constituents, then the constituent class should be declared, 
	not #included. 
-- 
+-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for |
| rmartin@clear.com    |:R::R:C::::M:M:M:M:| my words but me.  I want  |
| uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all   |
+----------------------+:R::R::CCC:M:::::M:| the blame.  So there.     |

steve@sman.dsg.Tandem.COM (Steve Mansour) (06/20/91)

Hello,

I'm interested in finding out about code coverage tools for C++.
I know about gprof++.  Are there others?  Is there a program like Sun's
tcov for C++?

Any leads or suggestions would be greatly appreciated,
Steve Mansour

-- 
Steve Mansour          steve@dsg.tandem.com
Tandem Computers DSG   (408) 285-7316