by John
Kopp
Welcome to About.com's free tutorial on C++ programming.
This lesson is the first of several that will teach all you
need to know to define and use classes and objects in C++.
Classes and objects have been seen in earlier lessons and were
introduced in lesson 9, Introduction
to Classes. You may wish to review that lesson before
proceeding.
The use of objects in C++ defines the way
programs are designed and written. Classes are a software
construct that can be used to emulate a real world object. Any
real world object can be defined by its attributes and by its
actions. For instance, a cat has attributes such as its age,
weight, and color. It also has a set of actions that it can
perform such as sleep, eat and complain (meow). The class
mechanism in C++ provides a way to create "cats" that we can
use in our program. Obviously, no software construct can
perfectly emulate a real object, but a goal in designing
classes is to have all the relevant attributes and abilities
encapsulated by the class. This way, objects of a class are
easily created and used. In essence, a ready-made cat is also
available to fulfill any requirements.
The difference
between a class and an object can be confusing to beginners. A class
is a programmer defined data type that encapsulates data and
abilities. For instance, a software model of a car, a car
"class", might contain data about the type of car and
abilities such as accelerate or decelerate. An object is a
particular instance of a class. This is best understood by an
analogy with a built in data type such as int.
Declares x to be a
variable of type int.
Declares impala
to be an object of class Car.
Only an object represents
an actually entity that can be manipulated, initialized or
assigned. The class is a data type.
A number cannot be
assigned to "int", since it is a data type and not a
variable.
int = 52; //
Incorrect
int
x; // Correct, declares a
variable, x, of built-in type int. x = 52;
|
Similarly, the "class"
generally should not appear in expressions. The exception to
this will be seen later in a later lesson covering static
members and methods, which are class wide.
Car = impala; //
Incorrect
Car
myCar; //Correct, defines a
object, myCar, of user defined class Car. myCar
= impala; //Assigns impala to
myCar. |
Next
page > Defining
Classes > Page 1,
2,
3,
4,
5,
6,
7
|