what is union or Enumeration in c++ language in hindi , C++ : Union or Enumeration in hindi :-
इससे पहले के article मे , compund data type मे से array और struture को discuss किया है इस article मे compund data type मे से unions और enum data type को discuss करेगे |
#include<iostream.h>
#include<conio.h>
struct widget{
std::string name;
int price;
int type;
union id{
long id_num;
char id_char [20];
}int value ;
};
void print(book);
void main()
{
widget w;
cout<<“Enter name of brand”<<endl;
cin.get(w.name);
cout<<“Enter Price”<<endl;
cin>>w.price;
cout<<“Enter Type :”<<endl;
cin>>w.type;
cout<<“Enter Size :”
if(w.type==1)
{
cin>>w. id_num;
}
else
{
cin>>w. id_char;
}
print(b);
getch();
{
cout<<“Brand Details”<<endl;
cout<<“Brand Name :”<<w.name<<endl;
cout<<“Price : “<<w.price<<endl;
cout<<“Size : “<<w.size<<endl;
ENUMERATION
C++ मे enum ,const के तरह कार्य करता है | जो की constant को बनता है | enum से नए data type को भी बनाया जा सकता है |enum का syntax structure की तरह होता है जैसे
enum sex = { male ,female };
enum के syntax मे दो भाग होते है :
1.enum name : इस उदाहरण मे sex enum का नाम है जिसे प्रोग्राम मे use किया जाता है|
2.enum data : ये enum का data value है जिसके index 0,1 है |male के लिए ‘0’ और female के लिए ‘1’ होती है |
enum data type मे सभी data type को 0 से लेकर infinite value को index बनाया जाता है |अगर first element के लिए index ‘0’ होती है | दूसरी value के लिए ‘1’ होती है और तिरसी value के लिए ‘2’ होती है | इस प्रकार ये कर्म आगे चलता रहता जब तक की enum की value ख़तम नहीं होती है |
enum के नाम को एनम type के variable को define करने के लिए use किया जा सकता है |जैसे
sex s1;
यह पर s1 की property , sex की तरह होती है |
enum variable की value को केवल enum data type मे define की गयी value से initial किया जा सकता है |अगर इसे किसी दूसरी value से initial किया जाता है error message आ जाता है |जैसे
s1 = male; // Valid initial
s1 = 200 ; // Invalid initial
और अगर enum variable मे enum की data value को modify करके initial किया जाता है तब भी error message आ जाता है | जैसे
s1 = female; // Valid Assignment
female++;
s1= female; // Invalid Assignment
पहले statement मे , female की value को enum data type को define किया गया है | लेकिन female को increment किया जाता है और उसके बाद female को s1 मे assign किया जाता है tan statement error message देगा |
नीचे दिए गये उदाह्रानो को भी देखते है |
int age= male; // Valid
s1 = 2; // Invalid
age = 3 + female ; // Valid
enum data type के सभी member value के साथ एक इन्तेग्र value associte होती है इसलिए enum data value को integer variable मे assign किया जा सकता है | लेकिन enum data variable में integer value assign नहीं कतर सकते है |
उपर वाले उदाहरण मे
int age= male से age की value ‘0’ होती है |
age = 3 + female से age की value 4 होती है |
एक और statement को discuss करते है जो की थोडा मुश्किल है |
s1= male +female;
यह पर male और female दोनों को ही enum के डेफिनिशन मे define किया गया है | लेकिन ये statement अभी भी गलत है क्योकि s1 एक enum type variable है जिसमे केवल enum type value assign हो सकती है |
और इसके पहले age = 3 + female मे age का type integer होता है | अतः addition possible होता है |
TYPECAST
TYPECAST possible है अगर किसी valid value को enum से casting की जाती है तो type casting हो जाती है |उदाहरण के लिए :
std::string s = sex(0);
इस statement से s मे male assign हो जाता है क्योकि ‘0’ वाले से associate enum value male थी | लेकिन एगर value गलत हुई तो error message आ जाता है | जैसे
std:: string s= sex(10);
इस ststement से error message आ जाता है |
इस article मे , UNION को discuss किया है |और ENUMERATION के basic को भी discuss किया है |अब next article मे C++ : Enum ( Advance) मे ENUMERATION के उदाहरानो और advance concept को discuss करेगे |