Introduction to C++ Classes and Objects
The classes are the most important feature of C++ that leads to Object Oriented Programming. Class is a user defined data type, which holds its own data members and member functions, which can be accessed and used by creating instance of that class.
The variables inside class definition are called as data members and the functions are called member functions.
For example: Class of birds, all birds can fly and they all have wings and beaks. So here flying is a behavior and wings and beaks are part of their characteristics. And there are many different birds in this class with different names but they all posses this behavior and characteristics.
Similarly, class is just a blue print, which declares and defines characteristics and behavior, namely data members and member functions respectively. And all objects of this class will share these characteristics and behavior.
More about Classes
- Class name must start with an uppercase letter(Although this is not mandatory). If class name is made of more than one word, then first letter of each word must be in uppercase. Example,
class Study, class StudyTonight etc
- Classes contain, data members and member functions, and the access of these data members and variable depends on the access specifiers (discussed in next section).
- Class's member functions can be defined inside the class definition or outside the class definition.
- Class in C++ are similar to structures in C, the only difference being, class defaults to private access control, where as structure defaults to public.
- All the features of OOPS, revolve around classes in C++. Inheritance, Encapsulation, Abstraction etc.
- Objects of class holds separate copies of data members. We can create as many objects of a class as we need.
- Classes do posses more characteristics, like we can create abstract classes, immutable classes, all this we will study later.
Objects of Classes
Class is mere a blueprint or a template. No storage is assigned when we define a class. Objects are instances of class, which holds the data variables declared in class and the member functions work on these class objects.
Each object has different data variables. Objects are initialised using special class functions called Constructors. We will study about constructors later.
And whenever the object is out of its scope, another special class member function called Destructor is called, to release the memory reserved by the object. C++ doesn't have Automatic Garbage Collector like in JAVA, in C++ Destructor performs this task.
// some statement
Abc obj; // Object of class Abc created