Path: utzoo!utgpu!watserv1!watmath!att!att!bu.edu!rpi!zaphod.mps.ohio-state.edu!usc!cs.utexas.edu!milano!cadillac!vaughan@mcc.com From: vaughan@mcc.com (Paul Vaughan) Newsgroups: comp.lang.c++ Subject: Re: C++, Object Design Methodologies and Software Engineering Message-ID: <12823@cadillac.CAD.MCC.COM> Date: 3 Nov 90 20:01:59 GMT References: <24872@uflorida.cis.ufl.EDU> <2390@lupine.NCD.COM> Sender: news@cadillac.CAD.MCC.COM Reply-To: vaughan@mcc.com (Paul Vaughan) Organization: MCC VLSI CAD Program Lines: 49 In-reply-to: rfg@NCD.COM (Ron Guilmette) From: rfg@NCD.COM (Ron Guilmette) A related question was discussed awhile back, i.e. the question of why C++ can't be a bit more like Ada. Specifically, I think that the kind of thing that you are perhaps looking for might be a header file that looks kinda like this: class car; car::car (int cost); car::~car (); heading car::turn (direction d); next_date car::change_oil (station s); In other words, a sort of *abbreviated* description of the interface to a class which is provided to some user of the class. Allowing abbreviated descriptions like this (which leave out information about data members) could potentially cut down dramatically on the amount of recompilations we have to do over the lifetime of a class. I hope that the ANSI committee will consider this possible solution for an important (and as yet unresolved) problem. . . . I've suggested this sort of thing for different reasons before, but it hasn't sparked any enthusiasm. I proposed that this sort of declaration would help to solve severe modularity problems. One thing that became clear to me was that a very complete declaration is required. For instance if the real class definition said class car : public virtual vehicle { public: virtual Heading heading() const; // . . . }; You're going to have to declare class car : public virtual vehicle; public virtual Heading car::heading() const; Anyway, I'd lend some support if anyone wants to start a ball rolling in the ANSI committee. Paul Vaughan, MCC CAD Program | ARPA: vaughan@mcc.com | Phone: [512] 338-3639 Box 200195, Austin, TX 78720 | UUCP: ...!cs.utexas.edu!milano!cadillac!vaughan