Classes are there to help you organize your code and to reason about
your programs. You could roughly equivalently say that classes are there
to help you avoid making mistakes and to help you find bugs after you
do make a mistake. In this way, classes significantly help maintenance.
A class is the representation of an idea, a concept, in the code. An
object of a class represents a particular example of the idea in the
code. Without classes, a reader of the code would have to guess about
the relationships among data items and functions – classes make such
relationships explicit and “understood” by compilers. With classes, more
of the high-level structure of your program is reflected in the code,
not just in the comments.
A well-designed class presents a clean and simple interface to its
users, hiding its representation and saving its users from having to
know about that representation. If the representation shouldn’t be
hidden – say, because users should be able to change any data member any
way they like – you can think of that class as “just a plain old data
structure”; for example:
Note that even data structures can benefit from auxiliary functions,
such as constructors.
When designing a class, it is often useful to consider what’s true for
every object of the class and at all times. Such a property is called an
invariant. For example, the invariant of a
vector
could be
that (a) its representation consists of a pointer to a number of
elements and (b) that number of elements is stored in an integer. It is
the job of every constructor to establish the class invariant, so that
every member function can rely on it. Every member function must leave
the invariant valid upon exit. This kind of thinking is particularly
useful for classes that manage resources such as locks, sockets, and
files. For example, a file handle class will have the invariant that it
holds a pointer to an open file. The file handle constructor opens the
file. Destructors free resources acquired by constructors. For example,
the destructor for a file handle closes the file opened by the
constructor:
If you haven’t programmed with classes, you will find parts of this
explanation obscure and you’ll underestimate the usefulness of classes.
Look for examples. Like all good textbooks, TC++PL has lots of examples; for example, see A Tour of the Standard Library.
Most modern C++ libraries consist (among other things) of classes and a
library tutorial is one of the best places to look for examples of
useful classes.
Harrah's Resort Atlantic City - MapyRO
ReplyDeleteThe 포항 출장안마 Hotel and Casino 영천 출장마사지 is located 목포 출장샵 on the Marina District at the 의왕 출장마사지 intersection of 공주 출장마사지 Newmarket Street and Ocean Ave. The hotel is connected to the resort's 6.2