Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. //smeureanu4
  2. #include<iostream>
  3. using namespace std;
  4.  
  5. class Medicament {
  6. protected:
  7. char* denumire;
  8. float pret;
  9. public:
  10.  
  11. friend ostream& operator<<(ostream &iesire, Medicament &medicament);
  12.  
  13. Medicament() {
  14. this->denumire = NULL;
  15. this->pret = 0;
  16. }
  17.  
  18. Medicament(const char denumire[], float pret){
  19. this->denumire = new char[strlen(denumire) + 1];
  20. strcpy(this->denumire, denumire);
  21. if (pret > 0) {
  22. this->pret = pret;
  23. }
  24. else
  25. pret = 0;
  26. }
  27.  
  28. void setDenumire(const char denumire[]) {
  29. if (denumire != NULL) {
  30. delete[] this->denumire;
  31. this->denumire = new char[strlen(denumire) + 1];
  32. strcpy(this->denumire, denumire);
  33. }
  34. else {
  35. this->denumire = NULL;
  36. }
  37. }
  38.  
  39. void setPret(float pret) {
  40. if (pret > 0) {
  41. this->pret = pret;
  42. }
  43. }
  44.  
  45. Medicament &operator=(Medicament &medicament) {
  46. if (medicament.denumire != NULL) {
  47. this->denumire = new char[strlen(medicament.denumire) + 1];
  48. strcpy(this->denumire, medicament.denumire);
  49. }
  50. else {
  51. this->denumire = NULL;
  52. }
  53. if (medicament.pret > 0) {
  54. this->pret = medicament.pret;
  55. }
  56. return *this;
  57. }
  58.  
  59. };
  60.  
  61. ostream& operator<<(ostream &iesire, Medicament &medicament) {
  62. iesire << "**********************"<< endl;
  63. iesire << "Denumire produs: " << medicament.denumire << endl;
  64. iesire << "Pretul produsului: " << medicament.pret << endl;
  65. return iesire;
  66. }
  67.  
  68. int main() {
  69. Medicament nurofen("Nurofen", 11.25f);
  70. Medicament aspirina = nurofen;
  71. aspirina.setDenumire("Aspirina");
  72. aspirina.setPret(4.5f);
  73. Medicament bixtonim("Bixtonim", 8.2f);
  74. {
  75. Medicament temp;
  76. temp = nurofen;
  77. cout << temp << endl;
  78. }
  79. cout << nurofen << endl;
  80. cout << aspirina << endl;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement