1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <iostream> struct MecEngineer { void buildRobot() { std::cout << "Mechanical Engineer builds robot" << std::endl ; } }; struct EleEngineer { void buildRobot() { std::cout << "Electrical Engineer builds robot" << std::endl ; } }; struct RoboticsEngineer : MecEngineer, EleEngineer { }; int main(){ RoboticsEngineer *obj = new RoboticsEngineer() ; // obj->buildRobot() ; // Ambiguous call static_cast<MecEngineer*> (obj) -> buildRobot() ; static_cast<EleEngineer*> (obj) -> buildRobot() ; delete obj ; return 0 ; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IE1lY0VuZ2luZWVyIHsKCiAgICAgdm9pZCBidWlsZFJvYm90KCkgeyAKICAgICAJc3RkOjpjb3V0IDw8ICJNZWNoYW5pY2FsIEVuZ2luZWVyIGJ1aWxkcyByb2JvdCIgPDwgc3RkOjplbmRsIDsKICAgICB9Cgp9OwoKc3RydWN0IEVsZUVuZ2luZWVyIHsKCiAgICAgdm9pZCBidWlsZFJvYm90KCkgewogICAgIAlzdGQ6OmNvdXQgPDwgIkVsZWN0cmljYWwgRW5naW5lZXIgYnVpbGRzIHJvYm90IiA8PCBzdGQ6OmVuZGwgOwogICAgIH0KCn07CgpzdHJ1Y3QgUm9ib3RpY3NFbmdpbmVlciA6IE1lY0VuZ2luZWVyLCBFbGVFbmdpbmVlciB7Cgp9OwoKaW50IG1haW4oKXsKCQoJUm9ib3RpY3NFbmdpbmVlciAqb2JqID0gbmV3IFJvYm90aWNzRW5naW5lZXIoKSA7CgkvLyBvYmotPmJ1aWxkUm9ib3QoKSA7IC8vIEFtYmlndW91cyBjYWxsCglzdGF0aWNfY2FzdDxNZWNFbmdpbmVlcio+IChvYmopIC0+IGJ1aWxkUm9ib3QoKSA7CglzdGF0aWNfY2FzdDxFbGVFbmdpbmVlcio+IChvYmopIC0+IGJ1aWxkUm9ib3QoKSA7CglkZWxldGUgb2JqIDsKCQoJcmV0dXJuIDAgOwoKfQ==
-
upload with new input
-
result: Success time: 0s memory: 2856 kB returned value: 0
Mechanical Engineer builds robot Electrical Engineer builds robot


