Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!mcnc!ece-csc!ncrcae!ncr-sd!hp-sdd!hplabs!well!mitsu From: mitsu@well.UUCP Newsgroups: comp.lang.c++ Subject: Re: OOPS Class Library Availability Message-ID: <4489@well.UUCP> Date: Thu, 19-Nov-87 20:13:08 EST Article-I.D.: well.4489 Posted: Thu Nov 19 20:13:08 1987 Date-Received: Sun, 22-Nov-87 04:06:54 EST References: <283@nih-csl.UUCP> Reply-To: mitsu@well.UUCP (Mitsuharu Hadeishi) Organization: Electronic Arts Lines: 54 Keywords: C++, class library, OOPS, object-oriented programming Summary: We want it, some comments about generic classes In article <283@nih-csl.UUCP> keith@nih-csl.UUCP (keith gorlen) writes: > >The Object-Oriented Program Support (OOPS) class library for C++ will >soon become easier to obtain. In the past, it has been necessary to >send us a letter of request and a mag tape. However, we will submit >the OOPS class library for distribution on the USENIX C++ library tape >that is being assembled, and we will also make it available via >anonymous ftp as soon as we get an Internet connection (probably >during the first quarter of '88). . . . . > Keith Gorlen phone: (301) 496-5363 > Building 12A, Room 2017 uucp: uunet!mimsy!elsie!nih-csl!keith > National Institutes of Health > Bethesda, MD 20892 We would like to find out how to get a hold of the USENIX C++ library tape. (BTW, Keith, we never did get a copy of your OOPS library; did you get our letter?) We, too, have been thinking of using a pure object-oriented approach to using C++, but we have run into some difficulties. How does your OOPS library handle dynamic binding? I presume your Collection classes handle pointers to things of type Object, is that right? Does the caller have to type coerce the return value of the Collection class to get the correctly typed object, or do your objects handle that automatically via some sort of class object pointer? If your objects do have class object pointers, what's in those class objects? I presume some class variables and methods, but is there also a table of method pointers for the class, or do you use virtual functions to handle this? Do all of your methods universally return Object pointers (thus making the virtual function type difficulty moot?) Do you declare ALL methods virtual in that case? Can you handle multiple inheritance? How do you deal with the problems of virtual function table offsets in that case? Now presuming you don't declare all methods of all subclasses in class Object (thereby eliminating the type coercion problem and the multiple-inheritance virtual function table offset difficulty at once) what kind of macros do you use to do type coercion? What methods do you expect to be defined for all objects (aside from ==, =, Hash() or whatever, !=)? Do you use more general macros than those included in generic.h? Finally, what is the performance hit in using instances of class Float or Integer instead of built-in classes? If you use virtual functions heavily, do you feel this is an overly-large memory hit? -Mitsu Hadeishi CDI Research and Development Electronic Arts 1820 Gateway Drive San Mateo, CA 94404 ---------------------------- ucbvax!sun!elecarts!mitsu (415) 571-7171x505