class TokenB {
    public:
    TokenB() {cout << "default B ";}
};
class TokenD: public TokenB{
    public:
    TokenD(){cout << "default D ";}
    explicit TokenD(const TokenB &t){cout<< "conversion D";}
    TokenD(const TokenD &t){cout << "copy D ";}
};
int main() {
    TokenB d;
    TokenD b = static_cast<TokenD&>(d); //copy constructor
    //TokenD b = static_cast<TokenD>(d); //conversion cosntructor
    return  0;
}
my question is how static_cast in this code work and if static_cast create temp object for both constructors(copy and conversion)
and difference between
static_cast<TokenD&>static_cast<TokenD>
Aucun commentaire:
Enregistrer un commentaire