파괴 횟수
미영
2023.04.01
#include Turboc.h
class TEST{ int a; int b; static int EE;public:
static void PrintCount();
TEST(){ EE++; } TEST(int aa,int ab):a(aa),b(ab){ EE++; }
~TEST(){
EE--;
} const TEST operator +(const TEST &A) const{
TEST TEMP(A.a+a,A.b+b);
EE++;
TEST::PrintCount();
return TEMP;
}
};
void TEST::PrintCount(){ printf(현재 객체의 갯수는 총 %d 개입니다\n,EE); }
int TEST::EE=0;
void main(){
TEST A(5,10),B(4,3),C;
C=A+B;
TEST::PrintCount();
system(pause); }static 멤버로 객체의 개수를 저장하게 한 소스입니다
궁금한건 연산자 함수부분인데요(빨간부분)
main부분에서 C=A+B로 연산자를 호출하는데
연산자 함수에서 나갈때 파괴되는건 임시객체만 파괴되어 파괴자를 호출해 1만 감소해야 하는데
이상하게도 2씩이나 감소가 되는군요
왜 이런건가요?