page 1  (42 pages)
2to next section

A C++ Critique

Introduction 1

C++ Specific Criticisms 3

Virtual Functions 3 The Nature of Inheritance 6 Name Overloading 6 Function Overloading 7 A Note on Overloading and Nesting 9 A Note on ?A Discipline of Programming? 11 Pure Virtual Functions 11 Virtual Classes 12 ?::?? ?.? and?->? 12 On information, computation and execution and paradigms 13 Anonymous Parameters in Class Definitions 15 Constructors 16 Constructors and Templates 16 Optional Parameters 16 Bad Deletions 17 Local Entity Declaration 17 Friends 19 Static 19 Union 21 Nested Classes 21 Global Environments 22 Header Files 22 Class Header Declarations 23 Calls on references to deallocated objects (Dangling Pointers) 24 Type-safe Linkage 25 C++ and the Software Lifecycle 25 Reusability and Communication 26 Reusability is a matter of Trust 26 Concurrent Programming 27 The Role of Language 28

Generic C Criticisms 31

Pointers 31 Arrays 32 Function Parameters 32 void * 33 void fn () 33 fn () 33 ++, -- 34 Defines 35 Case Distinction 36 Assignment Operator 37 Type Casting 37 Semicolons 39 Conclusions 40

C++ Critique 2 April, 1992 page 1of 42