Paul Kirkaas


Object oriented programming is a way of abstracting information and operations to make programming more efficient and reliable. C is a non object oriented programming language that has become a de facto language standard in academic and industrial applications because of its power and flexibility. ClassC is an attempt to add object orientation on the existing framework that C provides. Specifically, ClassC adds the new data type object, and the new aggregate declaration, class. ClassC differs from other C-based object oriented languages such as C++ Objective-C in three points: 1) ClassC provides true multiple inheritance, which is very commonly discussed in the description of object oriented languages, but very rarely actually implemented. 2) ClassC provides both strict type checking on objects as well as typeless dynamic binding a variable of type object may be assigned any class instantiation. Dynamic binding is typical of interpreted languages like lisp and Smalltalk, but rare in compiled languages like C and Pascal, etc. 3) ClassC offers automatic garbage collection of memory no longer referenced by any object variables. ClassC/Elaine is intended to be a flexible system that allows programmers to explore different qualities of object oriented programming, including strong and weak type checking, and single and multiple inheritance. This thesis is a description of the background, design, and implementation of the ClassC language.

Library of Congress Subject Headings

C (Computer program language); Object-oriented programming (Computer science); Programming languages (Electronic computers)

Publication Date


Document Type


Department, Program, or Center

Computer Science (GCCIS)


Heliotis, James

Advisor/Committee Member

Kitchen, Andrew

Advisor/Committee Member

Anderson, Peter


Note: imported from RIT’s Digital Media Library running on DSpace to RIT Scholar Works. Physical copy available through RIT's The Wallace Library at: QA76.73.C15 K573 1988


RIT – Main Campus