Xin chào mọi người!
Em có một vấn đề liên quan đến destructor trong C++ muốn hỏi.
Em post code để mọi người dễ tham khảo
#include <iostream>
class Test
{
private:
char c;
public:
Test(char cc = '\0') {
c = cc;
}
~Test() {
std::cout << "Destructor of " << c << std::endl;
}
Test Cong(Test t) {
Test kq('k');
return kq;
}
};
int main() {
Test a('a'), b('b');
a.Cong(b);
return 0;
}
Còn đây là kết quả của đoạn code trên khi chạy trên Visual Studio và Code::Blocks.
Kết quả của Code::Blocks thì trùng với suy nghĩ của em trước khi chạy chương trình. Nhưng khi chạy trong Visual thì lại có thêm dòng “Destructor of k” thứ hai, em không hiểu tại sao lại như vậy. Em mong mọi người giải đáp giúp 
Đây là lần đầu tiên post bài, nếu có gì sai sót mong mọi người thông cảm, em xin rút kinh nghiệm 


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?