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

Resolved : Power BI Report connection error during execution

Getting Below Power BI Report connection error during execution . Error: Something went wrong Unable to connect to the data source undefined. Please try again later or contact support. If you contact support, please provide these details. Underlying error code: -2147467259 Table: Business Sector. Underlying error message: AnalysisServices: A connection cannot be made. Ensure that the server is running. DM_ErrorDetailNameCode_UnderlyingHResult: -2147467259 Microsoft.Data.Mashup.ValueError.DataSourceKind: AnalysisServices Microsoft.Data.Mashup.ValueError.DataSourcePath: 10.10.10.60;T_CustomerMaster_ST Microsoft.Data.Mashup.ValueError.Reason: DataSource.Error Cluster URI: WABI-WEST-EUROPE-redirect.analysis.windows.net Activity ID: c72c4f12-8c27-475f-b576-a539dd81826a Request ID: dfb54166-c78f-4b40-779f-e8922a6687ad Time: 2019-09-26 10:03:29Z Solution: We found report connection not able to connect to SQL Analysis service so tried below option. Re

Song- Khamoshiyan Piano keyboard Chord,Notation and songs Lyrics

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