diff options
Update README.md
1 files changed, 68 insertions, 1 deletions
| -rw-r--r-- | Sem. 04/README.md | 69 |
diff --git a/Sem. 04/README.md b/Sem. 04/README.md index a3fd3d4..68dc04a 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -126,4 +126,71 @@ int main() ``` ## Конструктори и деструктор при влагане на обекти. - TBI (темата е разгледана в час) + + ```c++ +#include <iostream> +#include <iomanip> + +using namespace std; + +struct A +{ + A() + { + std::cout << "Constructor(default) of A" << std::endl; + } + + ~A() + { + std::cout << "Destructor of A" << std::endl; + } +}; + +struct B +{ + B() + { + std::cout << "Constructor(default) of B" << std::endl; + } + + ~B() + { + std::cout << "Destructor of B" << std::endl; + } +}; + +struct C +{ + C() + { + std::cout << "Constructor(default) of C" << std::endl; + } + + ~C() + { + std::cout << "Destructor of C" << std::endl; + } +}; + +struct X +{ + A first; + B second; + C obejectsArray[3]; + + X() + { //calls Constructor(default) of A, Constructor(default) of B, Constructor(default) of C" (x3) + std::cout << "Constructor of X" << std::endl; + } + ~X() + { + std::cout << "Destructor of X" << std::endl; + } //calls Destructor of C" (x3) , Destructor of B, Destructor of A + +}; + +int main() +{ + X obj; //Constructor of X +} // Destructor of X + ``` |
