The syntax of Java and C++ is very similar, however there are several differences that must be understood when moving between the two languages. There are several books that deal with these matters (e.g., just google "C++ for Java Programmers"). I have not examined any of them in depth, so I will neither list nor recommend any here.

The material in the rest of this web site is a brief description of some of the major language similarities and differences.

Important Note

Oftentimes on this web site and in lectures, I illustrate C++ concepts using simple functions implicitly defined at global scope. (You will understand better what that means when you read and study the section on Identifiers at global scope.) Usually this allows me to provide a standalone tightly focused context in which to show some concept. Our goal in this course, however, is to focus on object-oriented solutions including the creation and use of Abstract Data Types, class hierarchies, and other related tools. In projects developed for this course, you should never use variables declared at global scope, and you should avoid if at all possible the use of external functions declared at global scope. You will instead be developing the habit of designing and implementing solutions based strictly on cooperating classes and message passing (i.e., method calls) between instances of those classes. This approach to program design and implementation should be familiar to Java programmers since this is how Java programs must be written.