: 초보자의 질문에 대한전화는 몇 가지 "전문"필드를 사용하는 방법을 상속 예를 들어
struct A {
~A() {
cout << me << ": destructor" << endl;
}
const string me = "A";
};
struct B : A {
const string me = "B";
};
int main() {
{
A a;
B b;
}
cout << "----\n";
return 0;
}
죄송합니다, 나는 단지 다음과 같은 출력이 궁금 해요 :
A: destructor
A: destructor
----
두 번째 줄에서 I B: destructor
을 기다리고있었습니다. 이유를 설명해 주시겠습니까? 예상 된 결과를보기 위해 소멸자를 다시 작성하지 않고 어떻게 코드를 수정할 수 있습니까?
'A :: me'는'B :: me'와 완전히 관련이 없습니다. 그것들은 별개의 변수이며,'A'는'B :: me'에 대해서 아무것도 모릅니다. –