Chapter 14 क्लासेज एवं ऑब्जेक्ट्स

बहुविकल्पीय प्रश्न (1 अंक)

प्रश्न 1.
क्लास किंस प्रोग्रामिंग सिद्धान्त का केन्द्र बिन्दु होता है?
(a) ऑब्जेक्ट ओरिएण्टेड
(b) क्लास ओरिएण्टेड
(c) ऑब्जेक्ट
(d) इनमें से कोई नहीं
उत्तर
(a) ऑब्जेक्ट ओरिएण्टेड

प्रश्न 2.
निम्न में से कौन-सा कथन असत्य है?
(a) C++ क्लास में डाटा आइटम तथा फंक्शन होते हैं।
(b) C++ क्लास में मात्र फंक्शन होते हैं।
(c) एक क्लास में अनेक ऑब्जेक्ट डिक्लेयर किए जाते हैं।
(d) ऑब्जेक्ट का प्रारूप क्लास की भाँति होता है।
उत्तर
(b) दिए गए विकल्पों में (b) असत्य है, क्योंकि C++ क्लास फंक्शन के साथ-साथ डाटा आइटम भी रखता है।

प्रश्न 3.
सदस्य फंक्शन को कितने प्रकार से परिभाषित किया जा सकता है?
(a) तीन
(b) चार
(c) दो
(d) एक
उत्तर
(c) सदस्य फंक्शन को दो प्रकार से परिभाषित किया जा सकता हैक्लास बॉडी के अन्दर तथा क्लास बॉडी के बाहर।

प्रश्न 4.
फंक्शन को क्लास के बाहर परिभाषित करने के लिए किस चिह्न का प्रयोग किया जाता है?
(a) :
(b) :
(c) : ?
(d) ::
उत्तर
(d) ::

प्रश्न 5.
क्लास में प्रयुक्त एक्सेस स्पेसीफायर कितने प्रकार के होते हैं?
(a) तीन
(b) दो
(c) चार
(d) पाँच
उत्तर
(a) एक्सेस स्पेसीफायर तीन प्रकार के होते हैं –
private, protected 24 public

प्रश्न 6.
किस क्लास के डाटा आइटम व फंक्शन को अन्य क्लास द्वारा एक्सेस किया जा सकता है?
(a) public
(b) private
(c) protected
(d) इनमें से कोई नहीं
उत्तर
(a) public क्लास में परिभाषित डाटा आइटम व फंक्शन को किसी भी अन्य क्लास द्वारा एक्सेस किया जा सकता है।

प्रश्न 7.
निम्न में से ऑब्जेक्ट को परिभाषित करने का प्रारूप कौन-सा है?
(a) class_name object_name
(b) class_name object_name;
(c) object_name class_name;
(d) object_name;
उत्तर
(b) class_name object_name;

अतिलघु उत्तरीय प्रश्न (1 अंक)

प्रश्न 1.
क्लास का अर्थ समझाइट। (2011, 06)
उत्तर
क्लास एक ऐसा डाटा तत्त्व है, जिसमें प्रोग्राम के सभी डाटा सदस्यों व फंक्शनों को एक संरचना में व्यवस्थित किया जाता है।

प्रश्न 2.
क्लास के सदस्य कौन होते हैं?
उत्तर
क्लास में प्रयुक्त डाटा आइटम तथा फंक्शन क्लास के सदस्य होते हैं।

प्रश्न 3.
स्कोप रिजोल्यूशन ऑपरेटर की व्याख्या केवल एक वाक्य में कीजिए। (2018)
उत्तर
फंक्शन को क्लास के बाहर परिभाषित करने के लिए :: चिह्न का प्रयोग किया जाता है, जिसे स्कोप रिजोल्यूशन ऑपरेटर कहते हैं।

प्रश्न 4.
क्लास में प्रयुक्त protected वई क्या है?
उत्तर
protected एक एक्सेस स्पेसीफायर है, जो प्रोग्राम में किसी क्लास के अन्दर प्रयोग किया जाता है।

प्रश्न 5.
ऑब्जेक्ट क्या होते हैं? (2016, 13)
उत्तर
किसी वस्तु, स्थान, व्यक्ति अथवा अन्य इकाई या कार्य को ऑब्जेक्ट कहा जाता है।

प्रश्न 6.
ऑब्जेक्ट को कैसे पहचाना जाता है?
उत्तर
ऑब्जेक्ट को ऑब्जेक्ट के नाम से पहचाना जाता है।

प्रश्न 7.
फ्रेण्ड फंक्शन की व्याख्या केवल एक वाक्य में कीजिए। (2018)
उत्तर
फ्रेण्ड फंक्शन का प्रयोग friend की-वर्ड के साथ किया जाता है। ये क्लास के मेम्बर फंक्शन नहीं होते, परन्तु उस क्लास के private और protected मेम्बर को एक्सेस कर सकता है।

लघु उत्तरीय प्रश्न। (2 अंक)

प्रश्न 1.
क्लास से क्या तात्पर्य है? किसी क्लास को किस प्रकार से डिक्लेयर किया जा सकता है? समझाइए। (2008)
उत्तर
क्लास एक ऐसा डाटा तत्त्व है, जिसमें प्रोग्राम के सभी डाटा सदस्यों व फंक्शनों को एक संरचना में व्यवस्थित किया जाता है। C++ भाषा में, क्लास को class की-वर्ड द्वारा परिभाषित किया जाता है।
क्लास को डिक्लेयर करना क्लास को डिक्लेयर करते समय, क्लास के सभी डाटा सदस्य व फंक्शन को क्लास के अन्दर ही व्यवस्थित किया जाता है।
प्रारूप

class class_name

{

private:

Variable declarations;

Function declarations;

public:

Variable declarations;

Function declarations;

};

प्रश्न 2.
क्लासेज तथा ऑब्जेक्ट के सिद्धान्त की व्याख्या कीजिए। (2006)
अथवा
क्लासेज तथा ऑब्जेक्ट का वर्णन कीजिए। (2018, 09)
उत्तर
क्लास क्लास एक ऐसा तत्त्व है, जिसमें प्रोग्राम के सभी डाटा सदस्यों व फंक्शनों को एक संरचना में व्यवस्थित किया जाता है। वस्तुओं को उनके समान व्यवहार और सम्भव स्थितियों के अनुसार समूहों में बाँटा जाता है, ऐसे प्रत्येक समूह को क्लास कहा जाता है।
ऑब्जेक्ट किसी वस्तु, स्थान, व्यक्ति अथवा अन्य इकाई या कार्य को ऑब्जेक्ट कहा जाता है। कोई ऑब्जेक्ट किसी क्लास का एक बिन्दु या तत्त्व होता है, जो उस क्लास के नाम से बनाया जा सकता है।

प्रश्न 3.
किसी ऑब्जेक्ट को कैसे बनाया जाता है? समझाइए।
उत्तर
कोई ऑब्जेक्ट किसी क्लास का एक बिन्दु या तत्त्व होता है, जो उस क्लास के नाम से बनाया जा सकता है। ऑब्जेक्ट बनाने का प्रारूप इस प्रकार है –
class_name object_name;
यहाँ, class_name उस क्लासे का नाम है, जिसका ऑब्जेक्ट बनाना है। और object_name उस ऑब्जेक्ट का नाम है, जिसे परिभाषित करना है।
उदाहरण
student S;
यहाँ, क्लास Student का एक ऑब्जेक्ट S है।

लघु उत्तरीय प्रश्न।। (3 अंक)

प्रश्न 1.
सदस्य या मेम्बर फंक्शन को कितने प्रकार से परिभाषित किया जा सकता है? उदाहरण सहित समझाइए। (2008)
उत्तर
सदस्य या मेम्बर फंक्शन को दो प्रकार से परिभाषित किया जा सकता है, जो निम्न प्रकार हैं
(i) क्लास की बॉडी के अन्दर यदि कोई सदस्य फंक्शन बहुत छोटा होता है, तो उसे क्लास की बॉडी में ही परिभाषित कर दिया जाता है ऐसे सदस्यों को इनलाइन माना जाता है।
उदाहरण

class student

{

private:

char name [20];

public:

void enter ()

{

gets (name);

}

void show ()

{

puts (name);

}

};

(ii) क्लास की बॉडी के बाहर यदि फंक्शन बड़े होते हैं, तो क्लास के बाहर ही परिभाषित किए जाने चाहिए, जिसे :: चिह्न का प्रयोग करके परिभाषित किया जाता है। इस चिह्न को स्कोप रिजोल्यूशन ऑपरेटर (Scope resolution operator) कहा जाता हैं।
उदाहरण

class student

{

private:

chiar name [20];

public:

void enter ();

void show ();

};

void Student :: enter ()

{

gets (name);

}

void Student :: show ()

{

puts (name);

}

प्रश्न 2,
पब्लिक सदस्य, प्राइवेट सदस्य व प्रोटेक्टेड सदस्य में भेद कीजिए। (2008)
अथवा
डाटा हाइडिंग क्या है? क्लास के माध्यम से इसे कैसे प्राप्त किया जाता है? उदाहरण सहित समझाइए। (2006)
उत्तर
वैरिएबल और फंक्शन की घोषणा private की-वर्ड के द्वारा करने पर इसकी उपलब्धता फंक्शन के बाहर नहीं रहती है अर्थात् इनका प्रयोग उसी फंक्शन में किया जा सकता है, जिस फंक्शन में इन्हें घोषित किया गया है। क्लास की घोषणा का यह गुण डाटा हाइडिंग कहलाता है।
C++ में प्रयुक्त private, public तथा protected सदस्यों को एक्सेस स्पेसीफायर कहा जाता है, जो डाटा हाइडिंग में भी प्रयुक्त होते हैं।
इनका विवरण निम्न है –

  1. private किसी भी क्लास के private भाग में परिभाषित डाटा आइटम व फंक्शन केवल उसी क्लास के सदस्य फंक्शन द्वारा एक्सेस किए जा सकते हैं।
  2. protected किसी भी क्लास के protected भाग में परिभाषित डाटा आइटम व फंक्शन उस क्लास के सदस्य फंक्शन तथा डिराइब्ड क्लास के सदस्य फंक्शन द्वारा एक्सेस किए जा सकते हैं।
  3. public किसी क्लास के public भाग में परिभाषित डाटा आइटम व फंक्शन प्रोग्राम में किसी के भी द्वारा एक्सेस किए जा सकते हैं।

उदाहरण

class Employee

{

private:

char name;

public:

int emp-id;

void input ();

protected:

float salary;

void output ();

};

दीर्घ उत्तरीय प्रश्न (5 अंक)

प्रश्न 1.
क्लास की परिभाषा का प्रारूप लिखिए और उसके प्रत्येक भाग का अर्थ समझाइए। (2014)
उत्तर
क्लास एक ऐसा डाटा तत्त्व है, जिसमें प्रोग्राम के सभी डाटा सदस्यों व फंक्शनों को एक संरचना में व्यवस्थित किया जाता है। C++ भाषा में, क्लास को class कीवर्ड द्वारा परिभाषित किया जाता है।
क्लास को घोषित करने का प्रारूप

class class_name

{

private:

Variable declaration 1;

Function declaration 1;

public:

Variable declaration 2;

Function declaration 2;

};

उपरोक्त प्रारूप में, class एक की-वर्ड है, जो किसी क्लास की शुरुआत करता है। class_name उस क्लास का नाम है, जो यूजर द्वारा रखा जाता है।

}; यह क्लास के अन्त को प्रदर्शित करता है।
उदाहरण

class Teacher

{

public:

int Id;

void Subject ();

private:

int no_of_lecture;

void Department ();

};

प्रश्न 2.
किसी विद्यार्थी की सूचना प्रदर्शित करने वाले एक ऐसे क्लास की संरचना करें, जिसमें निम्न सदस्य हों (2006)
डाटा सदस्य

सदस्य फंक्शन

उत्तर

class student

{

private:

int roll;

char name [30], subject [20];

char address [50];

public:

void Input ();

void Show ();

};

void Student :: Input ()

{

cout<<“Enter Roll No.”<>roll;

cout<<“Enter Name”< gets (name);

cout<<“Enter Subject”< gets (subject);

cout<<“Enter Address” gets (address);

}

void Student :: Show ()

{

cout<<“Student DetailsK”< cout<<“Roll No. : “<<roll< cout<<“Name: “;

puts (name);

cout<<“Subject: “;

puts (subject);

cout<<“Address: “;

puts (address);

}

प्रश्न 3.
क्लास व ऑब्जेक्ट का प्रयोग करके किसी कर्मचारी (Employee) का ब्योरा (Detail) इनपुट कराके उसे प्रदर्शित कीजिए।
उत्तर

#include<iostrean.h>

#include<conio.h>

#include<stdio.h>

class Employee

{

int code;

char name [20], dept [20];

float salary;

public:

void Enter();

void Display();

};

void Employee: : Enter()

{

cout<<“Enter Employee Code:”<<end1; cin>>code;

cout<<“Enter Employee Name:”<<end1;

gets (name);

cout<<“Enter Employee Department:

“<<end1;

gets (dept);

cout<<“Enter Employee Salary:”

<<end1; cin>>salary;

}

void Employee :: Display ( )

{

cout<<“Employee Code:”<<code<<end1;

cout<<“Employee Name:”;

puts (name);

cout<<“Employee Department:”;

puts (dept);

cout<<“Employee Salary:”<<salary;

}

void main()

{

clrscr();

Employee E;

E.Enter();

E.Display();

getch();

}

आउटपुट
Enter Employee Code:
2550
Enter Employee Name:
Sonam Sharma
Enter Employee Department:
Coordinator
Enter Employee Salary:
35000
Employee Code:2550
Employee Name:Sonam Sharma
Employee Department:Coordinator
Employee Salary:35000

प्रश्न 4.
C++ में प्रोटेक्टेड मेम्बर फंक्शन द्वारा m की घात n के मान ज्ञात कीजिए।
उत्तर

#include<iostream.h>

#inclde<conio.h>

class Pow

{

int P, r;

public:

Pow()

{

p=1;

}

protected:

int comp_pow (int a, int b)

{

int i;

for (i=1; i<=b; i++)

p=p*a;

return p;

}

public:

void Result (int m, int n)

{

r=comp_pow (m, n) ;

cout<<“m to the power of n = “<<r;

}

};

void main()

{

clrscr();

Pow obj:

int m, n;

cout<<“Enter the values of m and n:”; cin>>m>>n;

obj. Result (m, n) ;

getch();

}

आउटपुट
Enter the values of m and n: 5
3
m to the power of n = 125

0:00
0:00

slot siteleri-sahabet-matadorbet-sweet bonanza-mariobet-deneme bonusu veren siteler 2026-radissonbet-kaçak iddaa-aviator-slot siteleri-trwin-deneme bonusu veren yeni siteler-superbahis-matadorbet-sahabet-matadorbet-superbet-tipobet-sahabet-deneme bonusu veren yeni siteler-slotday-xslot-kralbet-sweet bonanza-bahibom-anadoluslot-slotday-casino siteleri-radissonbet-casibom-casinofast-cratosroyalbet-asyabahis-asyabahis-stake-betboo-betboo-youwin-youwin-superbahis-superbahis-oleybet-oleybet-1xbet-ngsbahis-betmatik-artemisbet-bets10-deneme bonusu veren siteler 2026-tarafbet-piabellacasino-baywin-superbahis-mersobahis-tipobet-slotella-yeni slot siteleri-ritzbet-slot siteleri-canlı bahis siteleri-hitbet-celtabet-pusulabet-betano-betano-betewin-pusulabet-madridbet-1xbet-mariobet-betmatik-betmatik-betenerji-misty-misty-güvenilir casino siteleri-misli-bahis siteleri-dedebet-bahsegel-bahsegel-meritking-meritking-holiganbet-holiganbet-bets10-ramadabet-bets10-casibom-casibom-ngsbahis-jojobet-marbahis-marbahis-asyabahis-asyabahis-tarafbet-stake-betboo-yeni slot siteleri-superbahis-superbahis-oleybet-oleybet-misli-misli-1xbet-artemisbet-slot siteleri-limanbet-limanbet-piabellacasino-piabellacasino-baywin-baywin-mersobahis-mersobahis-almanbahis-almanbahis-pincocasino-pincocasino-savoycasino-hitbet-exonbet-anadoluslot-betano-betano-pusulabet-madridbet-mariobet-mariobet-goldenbahis-betmatik-betenerji-misty-misty-betmatik-mostbet-bettilt-bahsegel-maxwin-meritking-venombet-holiganbet-betturkey-güvenilir casino siteleri-bet365-matadorbet-goldenbahis-cratosroyalbet-grandpashabet-casibom-jojobet-jojobet-marsbahis-marsbahis-sweet bonanza-bahibom-aviator-venombet-mariobet-sahabet-aviator-aviator-aviator-bahis siteleri-superbet-grandpashabet-casino siteleri-betkom-palacebet-deneme bonusu-dedebet-deneme bonusu-spinco-deneme bonusu veren siteler-kaçak bahis-deneme bonusu veren siteler 2026-deneme bonusu veren siteler 2026-deneme bonusu veren siteler 2026-betkom-deneme bonusu veren yeni siteler-deneme bonusu veren yeni siteler-casinofast-tipobet-casibom-maxwin-deneme bonusu-güvenilir casino siteleri-spinco-betwild-güvenilir bahis siteleri-sweet bonanza-sweet bonanza-sweet bonanza-misli-betsin-yeni slot siteleri-stake-stake-sweet bonanza-asyabahis-ramadabet-betboo-xslot-superbahis-deneme bonusu veren siteler-oleybet-kaçak iddaa-misli-misli-deneme bonusu veren yeni siteler-damabet-pusulabet-artemisbet-limanbet-limanbet-piabellacasino-1xbet-betewin-betsin-canlı casino siteleri-almanbahis-betturkey-tokyobet-meritbet-pincocasino-pincocasino-gates of olympus-royalbet-celtabet-ritzbet-deneme bonusu-pusulabet-pusulabet-betenerji-betenerji-misty-misty-mostbet-mostbet-bettilt-bahsegel-nerobet-meritking-meritking-trwin-holiganbet-matadorbet-kaçak bahis-canlı bahis siteleri-casibom-betwild-jojobet-sahabet-aviator-marsbahis-casino siteleri-enbet-palacebet-savoycasino-enbet-enbet-mariobet-bet365-damabet-canlı casino siteleri-exonbet-deneme bonusu veren yeni siteler-gates of olympus-tokyobet-deneme bonusu veren siteler 2026-kaçak bahis-sweet bonanza-yeni slot siteleri-sweet bonanza-deneme bonusu veren siteler-slot siteleri-aviator-güvenilir casino siteleri-bahis siteleri-güvenilir bahis siteleri-casino siteleri-deneme bonusu veren yeni siteler-kralbet-güvenilir bahis siteleri-gates of olympus-deneme bonusu veren siteler-slotella-deneme bonusu-casino siteleri-casino siteleri-bahis siteleri-royalbet-aviator-nerobet-betturkey-yeni slot siteleri-canlı casino siteleri-sweet bonanza-slot siteleri-slot siteleri-kaçak iddaa-kaçak iddaa-kaçak bahis-kaçak bahis-güvenilir casino siteleri-güvenilir casino siteleri-güvenilir bahis siteleri-güvenilir bahis siteleri-gates of olympus-gates of olympus-deneme bonusu veren yeni siteler-deneme bonusu veren yeni siteler-deneme bonusu veren siteler 2026-deneme bonusu veren siteler 2026-deneme bonusu veren siteler-deneme bonusu veren siteler-deneme bonusu-deneme bonusu-casino siteleri-casino siteleri-canlı casino siteleri-canlı casino siteleri-canlı bahis siteleri-canlı bahis siteleri-bahis siteleri-bahis siteleri-aviator-aviator-