Skip to main content

Example of New operator overloading,Call by value function and reference in c++

Example of New operator overloading in c++

 const int maxnames = 5;  
 class Names  
 {  
 char name[25];  
 static char Names::pool[];  
 static short int Names::inuse[maxnames];  
 public:  
 Names(char* s = 0)  
 {  
 if (s)  
 strncpy(name, s, sizeof(name));  
 }  
 void* operator new[](size_t) throw(std::bad_alloc);  
 void operator delete[](void*) throw();  
 void display() const  
 {  
 std::cout << name << std::endl;  
 }  
 }; // Simple memory pool to handle fixed number of Names. char Names::pool[maxnames * sizeof(Names)];  
 short int Names::inuse[maxnames]; // Overloaded new[] operator for the Names class. void* Names::operator new[](size_t size) throw(std::bad_alloc)  
 {  
 int elements = size / sizeof(Names);  
  // Find the first empty element (if any).  
 int p = -1;  
 int i = 0;  
 while ((i < maxnames) && (p == -1))  
 {  
  if (!inuse[i]) p = i; ++i; } // Not enough room.  
 if ((p == -1) || ((maxnames - p) < elements))  
 throw std::bad_alloc(); // Mark the elements as used.  
  for (int x=0; x inuse[p+x] = elements;  
 // Return pointer to memory.  
 return pool+p*sizeof(Names);  
 } // Overloaded delete[] operator for the Names class.  
 void Names::operator delete[](void* b) throw()  
  {  
  if (b != 0)  
 {  
 int p = ((char*)b - pool) / sizeof(Names);  
 int elements = inuse[p];  
 for (int i = 0; i < elements; i++)  
 inuse[p + i] = 0;  
 }  
 }  
 int main()  
  {  
 Names* np = new Names[maxnames];  
  int i;  
 for (i = 0; i < maxnames; i++)  
 {  
  std::cout << std::endl << "Enter name # " << i+1 << ": ";  
 char name[25];  
 std::cin >> name;  
 *(np + i) = name;  
 }  
 for (i = 0; i < maxnames; i++)  
  (np + i)->display();  
 delete [] np;  
 return 0;  
 }  
 //A call-by-value function and reference in c++  
 struct bigone  
 {  
 int serno;  
 char text[1000];  
 };  
 // Two function prototypes with a structure parameter.  
 void slowfunc(bigone p1); // Call by value.  
 void fastfunc(bigone& p1); // Call by reference.  
 // The main() function.  
 int main()  
 {  
 static bigone bo = {123, "This is a BIG structure"};  
 // This call will take a while.  
 slowfunc(bo);  
 // This call will be faster than the previous one.  
 fastfunc(bo);  
 return 0;  
 }  
 // A call-by-value function.  
 void slowfunc(bigone p1)  
 {  
 }  
 ; }  

Popular posts from this blog

Song Aankhen Khuli Ho lyrics notation

Song : Aankhen Khuli Ho Movie: Mohabbatein Notes used : W=>Western - C D E F G- A- B-/ H=>Hindustani - S R G M P- D- N- ( Here for western, G=G-, A=A-, & B=B- ) ( For hindustani, P=P-, D=D-, & N=N- ) Song I : Aankhen Khuli...Ho Ya.. Ho Bandh W=> A.... C... B..C.. E.. E...... A... A.... H=> D... S... N..S.. G G....... D... D.... Deedaar Un Ka Ho.o.taa Hai.. W=> A...B....A....D.BAG....ADB... H=> D...N...D.....R.NDP...DRN... Kaise Kahoon Main O..Yaaraa W=> B..D.. D....E.... D.....C..C..C... H=> N..R.. R....G... R.....S..S..S..... Ye Pyaar Kaise Hota Hai W=> E...B.....DB...AG...B..AA H=> G...N....RN...DP...N...DD (Tururu ru ru, ru ru rururu ru......) W=> AA...GA...BCE..., B...DB..GA H=> DD...PD...NSG..., N..RN.. PD Song II: Aa.aj He Kisi..par Yaa.ro.on..., Marke De..Khe..gein Hum W=> E....FEDCBABC.D.. D D......., G A B C.... E.......D...D..... H=> G....MGRSNDNS.R. R R......., P D N S.....G........R...R.... Pyaar Ho...

All songs notation and chords at one place

Song : O Saathi Re Film : Mukhathar Ka Sikkandhar Uses : C D D# E G A Note : The numbers at the end of the lines indicate line numbers. Pallavi: O saathi re, tere binaa bhi kya jina, tere binaa bhi kya jina A- C D D#....,D D C DD E...C..CA-...,D D C DD E...CC.......1 Play line 1 again phulon men khaliyon men sapnom ki galiyon men GGG...GAGE.. GGG G A G E.................................................2 tere bina kuchh kahin naa E A G E D C D D#.......................................................................3 tere binaa bhi kya jina, tere binaa bhi kya jina D D C DD E....C..CA-..., D D C DDE....CC.............................4 Charanam: har dhadkan men, pyaas hai teri, sanson men teri khushboo hai CCC C D C A-, CCC C D C A-, DDD DED CD EE.. CCCC......................5 is dharthi se, us ambar tak, meri nazar men tu hi tu hai CCC C D C A-, CCC C D C A-, DDD DED CD EE.. CCCC......................6 pyaar yeh tute naa GGG... GAG D#......E............................

PHP Tips-Getting the nodes list of xml doument with responseXml in ajax ,call image save in database,time difference etc

Getting the nodes list of xml doument with responseXml in ajax var obj = ""; function callAjaxObj() { try { obj = new XMLHttpRequest(); } catch(e) { try { obj = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { obj = ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { alert("your browser doesn't support ajax"); return false; } } } } function testResponseXml() { callAjaxObj(); obj.open("get","sample.xml",true); obj.onreadystatechange=function() { if(obj.readyState==4) { var doc = obj.responseXML.documentElement; //var doc = obj.responseXML; alert(doc.getElementsByTagName('user').length); } } obj.send(null); } Example of calender script in PHP calender script in PHP echo " $title $year "; echo "SMTWTFS"; $day_count = 1; echo ""; while ( ...