Che tipo di cast si svolge qui (in)?Derivato dalla classe derivata alla base
class A {
public:
A() : a(0) {}
int a;
};
class B : public A {
public:
A* get() {
return this; //is this C-style cast?
}
};
int main()
{
B b;
cout << b.get()->a << "\n";
system("pause");
return 0;
}
Ho visto questo tipo di codice in un famoso API. È meglio fare static_cast<A*>(this);
?
Non c'è assolutamente nessuna trasmissione, solo una conversione implicita. Un cast è una conversione esplicita. – molbdnilo