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

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............................

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...

sql server 2008 r2 installation error on 64 bit

Dear friends , Please make your comment on following error  Error in installing Microsoft SQL Server 2008 R2 Enterprise on Windows Server 2008 Enterprise server R2,Always my all services is not running ,have done installation with repaired option but not able to solved this issue ,even in The installation of single computer mode of AX R2 ,Getting the error of SQL Server update SP1 because of this failed services. Overall summary: Final result: Failed: see details below Exit code (Decimal): -2068578302 Exit facility code: 1204 Exit error code: 2 Exit message: Failed: see details below Start time: 2014-01-01 22:10:21 End time: 2014-01-01 22:23:58 Requested action: Repair Log with failure: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20140101_220847\Detail.txt Exception help link: http%3a%2f%2fg...