Advertisement
allmrnv

Class_Distructor_reload

Mar 23rd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.81 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3.  
  4. using namespace std;
  5.  
  6. class MyMoney {
  7. private:
  8.     string name;
  9.     double money;
  10.     double rate;
  11.     int time;
  12.     //Функция подсчета прибыли от процентной ставки
  13.     double getMoney() {
  14.         double s = money;
  15.         for (int k = 0; k <= time; k++) {
  16.             s *= (1 + rate / 100);
  17.         }
  18.         return s;
  19.     }
  20. public:
  21.     //Конструктор без аргументов
  22.     MyMoney() {
  23.         name = "(objA-1)Alex Ford";  
  24.         money = 1500;                
  25.         rate = 5;                    
  26.         time = 1;                    
  27.         cout << "Создан новый объект:\n";
  28.         showALL();                   // Вызов функции отображения
  29.     }
  30.     //Констурктор с 4-мя аргументами
  31.     MyMoney(string n, double m, double r, int t) {
  32.         setAll(n, m, r, t);          //Вызов метода отображения
  33.         cout<< "Создан новый объект:\n";
  34.         showALL();
  35.     }
  36.     //Деструктор
  37.     ~MyMoney() {
  38.         cout << "Объект для \"" << name << "\" удален" << endl;
  39.         for (int k = 1; k <= 35; k++) {
  40.             cout << "*";
  41.         }
  42.         cout << endl;
  43.     }
  44.     //Метод отображения параметров вклада
  45.     void showALL() {
  46.         cout << "Имя: " << name << endl;
  47.         cout << "Сумма: " << money << endl;
  48.         cout << "Ставка: " << rate << endl;
  49.         cout << "Период(лет): " << time << endl;
  50.         cout << "Итоговая сумма с прибылью: " << getMoney() << endl;
  51.         for (int k = 1; k <= 35; k++) {      
  52.             cout << "-";
  53.         }
  54.         cout << endl;
  55.     }
  56.     //Метод упрощения передачи аргументов
  57.     void setAll(string n, double m, double r, int t) {
  58.         name = n;      
  59.         money = m;     
  60.         rate = r;      
  61.         time = t;      
  62.  
  63.     }
  64.  
  65. };
  66. //Создание локального объекта
  67. void postman() {
  68.     MyMoney objD("(objD-4)Killiy Frenc", 350, 8, 4);  //Вызов конструктора MyMoney(с передачей внего 4 элемента), создающий объект objD
  69. }
  70.  
  71. int main() {
  72.     setlocale(0, "ru");
  73.     MyMoney objA; //Вызов конструктора без элементов, создающий объект objА
  74.     MyMoney objB("(objB-2)Auraus Verden", 750, 6.5, 2); //Вызов конструктора + передача в него 4 элемента, создающий объект objВ
  75.     postman(); // Вызов локального объекта
  76.     MyMoney* objC = new MyMoney("(objC-3)Doctror Zender", 220, 7.5, 3); //Создание динамического объекта
  77.     cout << "Все объекты созданы\n";
  78.     delete objC; //Удаление динамического объектка
  79.     cout << "Выполнение программы завершено!";
  80.     cout << endl;
  81.     system("Pause>nul");
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement