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

Song- Khamoshiyan Piano keyboard Chord,Notation and songs Lyrics

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