Advertisement
Domerk

Constr_Distr_3

Mar 6th, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.82 KB | None | 0 0
  1. //main.cpp
  2.  
  3. #include <iostream>
  4. #include "cl.h"
  5.  
  6. int main()
  7. {
  8.     Class1 obj1; //*создаём первый объект с параметрами "по умолчанию" - вызывается первый (основной) конструктор
  9.     int a; //объявляем некоторую целочисленную переменную а
  10.     std::cin>>a; //записываем в неё значение, заданное пользователем
  11.     Class1 obj2(a); //*создаём объект, в который передаём а - вызывается тот конструктор, в который можно передавать значения "со стороны" :)
  12.     std::cin.sync();
  13.     std::cin.get();
  14.     return 0;
  15. } //Так как объект у нас не динамический, жизни после скобки нет
  16. ______________________________
  17. //cl.h
  18.  
  19. class Class1
  20. {
  21. private:
  22.     int*p; //память будет выделяться динамически
  23. public:
  24.     Class1(); //конструктор 1
  25.         Class1(int a); //конструктор 2, в который можно передать некоторое значение
  26.     ~Class1(); //деструктор
  27. };
  28. ______________________________
  29. //cl.cpp
  30.  
  31. #include <iostream>
  32. #include "cl.h"
  33.  
  34. Class1::Class1()
  35. {
  36.     std::cout<<"Constructor_1"<<std::endl;
  37.     p=new int;
  38.     *p=100; //динамическая память заполняется сотней
  39. }
  40.  
  41. Class1::Class1(int a)
  42. {
  43.         std::cout<<"Constructor_2"<<std::endl;
  44.     p=new int;
  45.     *p=a; //динамическая память заполняется чем, что ввёл пользователь
  46. }
  47. Class1::~Class1()
  48. {
  49.     std::cout<<"Destructor!"<<std::endl;
  50.     delete p; //чистка динамической памяти
  51.     std::cin.sync();
  52.     std::cin.get();
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement