Class Declaration and Class Members

Class in C++

Class data तथा data से सम्‍बंधित function को एक साथ बांधने की विधि हैं। साधारण रूप से data को class के बाहर प्रयोग नहीं किया जाता हैं जिसे data hiding कहा जाता हैं।

Class data को बाहरी हस्‍तक्षेप से बचाने के उद्देश्‍य से data hiding method हैं। data hiding abstraction सें संबंधित होती हैं। Class में प्रयोग किये गये data को Class के बाहर direct access नहीं किया जा सकता हैं। अत: class data की सुरक्षा के दृष्टिकोण से महत्‍वपूर्ण Structure होते हैं। दूसरे शब्‍दों में Class के द्वारा user define data-type बनाया जा सकता हैं।

Class को दो प्रकार से बनाया जा सकता हैं –

Class Declaration

Class के member type और उनके scope को स्‍पष्‍ट करता हैं तथा class function तथा definition function process को execute करता हैं।

Class Structure

#include<iostream.h>
#include<conio.h>
class class_name
{
private:

variable declaration;
function declaration;


Public:
Variable declaration;
Function declaration;
}

Note:- Class Structure के last braces को बन्‍द करने के बाद ; से class को समाप्‍त किया जाता हैं।

Class Member

Class में variable और function class member कहलाते हैं जो मुख्‍यरूप से दो प्रकार के होते हैं।

  1. Private Member:- Member जो Class के Private Area में Declare किये जाते हैं Private Member कहलाते हैं। Private Member को Class के बाहर किसी अन्‍य function में access नहीं किया जा सकता अर्थात् Private Member data hiding जो कि oops program का मुख्‍य गुण होता हैं को व्‍यक्‍त करते हैं। Private Member को Private Keyword के द्वारा व्‍यक्‍त किया जाता हैं। Private Keyword का प्रयोग Optional होता हैं अर्थात् एच्छिक होता हैं। जिसे साधारण declaration में भी declare हो जाता हैं।
  2. Public Member:- वैसे Member जो Public Area में Declare किये जाते हैं। Public Member कहलाते हैं। Public Member को Class के बाहर Object के द्वारा Access किया जाता हैं। यही Public Variable Function हैं। Public Function को Public Keyword द्वारा प्रयोग किया जा सकता हैं।

Note:- यदि हमें Private Member को Class के बाहर Access करना हैं तो उसे Public Member Function के द्वारा Call किया जायेगा।

Object

Object Class को Instance होती हैं। Object को Class के Name के साथ Dealer किया जाता हैं। Class Object के लिये एक Template की तरह के कार्य करते हैं। Class data type होता हैं। और object variable कहलाता हैं। जब हम class को बनाते हैं तो उसके लिये Memory नहीं बनती हैं किन्‍तु जब हम object को dealer करते हैं तो Runtime पर object के लिये memory निर्धारित होती हैं।

Object को Dealer करने का Syntax:-


Syntax

(data type) (Variable)

Class Name Object Name

Example

time time_name

#include <iostream.h>
#include <conio.h>
class time // class declaration
{
int a,b; // Private Member
public:
void input ( ) // Public Member
{
cout << “Hour”;
cin >> a;
cout << “Minit”;
cin >> b;
}

void input ( )
{
cout << “time” << a;
cout << “time” << b;
}
};

void main ( )
{
clrscr ( );
time tl ; // Create Object
input ( ); // Call function by object
output ( );
}

Inside the Class Definition

Class के Public Sector में लिये गये Function के Code को Function के साथ ही Class के अन्‍दर Define करना ही inside class definition हैं।

Example

#include <iostream.h>
#include <conio.h>
class Commodity // inside class definition
{
int a; float rate;
public :
Void get data (int a, float r) ;
Void put data ( );
{
cout << a;
cout << r;
}
};

Outside The Class Definition

इसमें Function को Prototype तो Class में ही Define करते हैं किन्‍तु Function Code को Class के बाहर Define किया जाता हैं।

Example :-

Class Commonly // Outside Class Definition
{
int a; float rate;
public:
void get data (int a, float r);
void putdata ( );
};

void Commonly : : get data (int a, float b)
{
number = a; rate = b;
}

void Commonly :: putdata ( )
{
cout << number << “\n”;
cout << rate << “\n”;
}

Objects as function Argument

C++ Language में Object पूर्व निर्मित data-type के रूप में माना जाता हैं। और किसी function में Argument के रूप में प्रेषित किया जाता हैं। Object को Function में प्रेषित करने के लिये निम्‍न तीन प्रमुख विधियाँ हैं –

  1. Pass By Value :- इसमें Function को object की एक प्रति (Copy) प्रेषित की जाती हैं। अत: Function के अन्‍दर Object में किये गये संशोधन का प्रभाव मूल Object पर नहीं पड़ता हैं, जिसकी Copy प्रेषित की गई हैं।
  2. Pass By Reference :- इसमें Object का Address function को pass किया जाता हैं, फलस्‍वरूप Function जो भी कार्य उस object पर करता हैं, उसका प्रभाव उसके मूल Object पर सीधे-सीधे पड़ता हैं तथा साथ ही वह भी संशोधित हो जाता हैं। reference Passing ज्‍यादा अच्‍छी विधि हैं क्‍योंकि इसमें Object के बजाय उसका Address pass किया जाता हैं।
  3. Pass By Pointer to an Object :- इसमें Object को इंगित करने वाले Pointer के द्वारा Object को Pass किया जाता हैं।

error: Content is protected !!