From 944a2129a6f19f2e4135cf4b971495a449148eb8 Mon Sep 17 00:00:00 2001 From: Jidong Xiao Date: Fri, 17 Jan 2025 12:05:01 -0500 Subject: [PATCH] notes above destructor order --- lectures/04_classes_II/README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lectures/04_classes_II/README.md b/lectures/04_classes_II/README.md index 2ddc867..93d9b08 100644 --- a/lectures/04_classes_II/README.md +++ b/lectures/04_classes_II/README.md @@ -211,21 +211,23 @@ A **destructor** is a special member function automatically called when an objec ```cpp #include -using namespace std; class MyClass { public: - MyClass() { cout << "Constructor called\n"; } - ~MyClass() { cout << "Destructor called\n"; } + MyClass() { std::cout << "Constructor called" << std::endl; } + ~MyClass() { std::cout << "Destructor called" << std::endl; } }; int main() { - MyClass obj; // Constructor called + MyClass obj1; // Constructor called + MyClass obj2; // Constructor called // Destructor will be called automatically at the end of scope return 0; } ``` +**Question**: in the above example, obj1's destructor or obj2's destructor, which one gets called first? + ## 4.4 Overloading `operator<<` in C++ ### Purpose