.profile Consulting Inc. presents:

A One Day Seminar on

C++ Programming Style

Course Description

C++ supports programming-in-the-large, allowing relationships between different parts of a program to be described. The scope of C++ programming style therefore goes beyond the issues of traditional programming-in-the-small, such as indentation and the use of goto. This course examines the use of language features that often confuse even experienced programmers. Unwarranted use of the more powerful features leads to cluttered programs that are harder to comprehend, and in some cases less efficient, than more straightforward alternatives.

In this course we examine, and then simplify, a number of programs. The techniques range from simple rules of thumb about constructors to transformations that remove redundant inheritance. Simulating a code review, we read programs, discuss their organization and use of C++, critique their design, redesign where necessary, and then recode. The discussion ranges from questions of data abstraction and object-oriented design to the expression of a given design in C++. Design and coding style guidelines and rules of thumb are distilled from the examples. Following the course, these rules can be applied in reviewing and evaluating production code.

Course Structure

The course is presented as 1 day of lecture.

Audience Background

This course is of value to programmers who have started to program in C++, or have a sound reading knowledge of the language, and are looking for guidance on how to use its features in practice. Knowledge of C++ language basics is assumed; if need be, language features are clarified briefly. The material is code intensive, for programmers who like to read and understand programs.

  • Consistency
  • Unnecessary Inheritance
  • Operator Overloading
  • Wrappers
  • Efficiency
  • Multiple Inheritance

Each attendee receives a copy of Cargill's C++ Programming Style, in addition to course notes.


Thomas A. Cargill, Ph.D.

Pricing and Availability

This course is available on-site at your location. Please call .profile Consulting Inc. at (303) 499-5940 or email us at cjm@profcon.com for pricing, instructor availability and scheduling.
This course is occasionally offered publicly. Tom Cargill has presented this course at the following conferences: C++ At Work, USENIX, and USENIX C++.

Back to .profile Consulting Inc. Home Page

Last Updated: February 2008.
Questions? Contact cjm@profcon.com
This page printed from www.profcon.com