Handbook of Software for Engineers and Scientists

Chapter 14 – C++ and Objective C

Excerpt Notice

This is a hypertext version of chapter 14 of the book Handbook of Software for Engineers and Scientists, published by CRCPress in 1996. Please read the Introduction section to understand the context in which this was written.

Table of Contents
  1. C++ and Objective C – Introduction
  2. C++ and Objective C – Section 1: Common Ideas
  3. C++ and Objective C – Section 2: The C++ Language
  4. C++ and Objective C – Section 3: The Objective C Language
  5. C++ and Objective C – Section 4: Summary and Comparison


This chapter is written for C programmers who want to know what the common object-oriented C hybrids (C++ and Objective C) add to their base language. Readers unfamiliar with C should begin with the chapter on ANSI C. Some familiarity with object-oriented (OO) ideas is also assumed. Readers for whom OO languages are entirely new should first read the chapter on OO analysis and programming.

Why are there two commercially successful, hybrid OO languages based on C? The answer lies in the popularity, flexibility and performance of their base language. As a general purpose language, C has much to offer as a base to build upon: it runs on nearly every architecture, there are many C programmers, it is fast and efficient, and existing C programs will work with the new compilers with either no or only minimal modification. When C++ and Objective C were being developed, a common criticism of the pure OO languages was their performance. By choosing a hybrid approach, the developers of these languages sought, among other goals, to find a compromise between speed and support for OO programming.

This chapter is organized into five parts: this introduction section, a brief background on some important ideas from C, a section on the C++ language, a section on the Objective C language, and finally a comparison and summary of the two. While the focus of the language sections is on the support for OO programming, the C++ section has additional coverage of the non-OO features of the language. These sections conclude with coverage of advanced language features.

Disclaimer and Copyright

Copyright CRC Press 1996, Last modified Jan 1996

This information is provided in good faith but no warranty can be made for its accuracy. Feel free to quote, but reproduction of this material in any form of storage, paper, etc is forbidden without the express written permission of the author and CRC Press. Intellectual property rights to this material may be held by the author orCRC Press. All rights are reserved.

CRC Press, Boca Raton FL, USA