У меня есть этот код:
#include <iostream>
using namespace std;
struct A;
struct B;
void g(A* a){ cout << "A";}
void g(B* b){ cout << "B";}
struct A{
A(){ g(this); }
};
struct B : A{
B(){}
};
int main() {
B* b=new B();
return 0;
}
в котором вывод:
А
Означает ли это, что тип указателя this
, переданный конструктору A()
, имеет тип A*
?