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 | #include <iostream> using namespace std; template <typename T> struct base { void foo() { cout << "foo" << endl; } }; template <typename T> struct derived : base<T> { void f() { this->template base<T>::foo(); //syntax 1 this->base<T>::foo(); //syntax 2 - simple this->foo(); //syntax 3 - simpler } }; int main() { derived<int> x; x.f(); return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgpzdHJ1Y3QgYmFzZQp7CiAgICB2b2lkIGZvbygpIHsgY291dCA8PCAiZm9vIiA8PCBlbmRsOyB9Cn07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kc3RydWN0IGRlcml2ZWQgOiBiYXNlPFQ+CnsKICAgIHZvaWQgZigpCiAgICB7CiAgICAgICAgdGhpcy0+dGVtcGxhdGUgYmFzZTxUPjo6Zm9vKCk7IC8vc3ludGF4IDEKICAgICAgICB0aGlzLT5iYXNlPFQ+Ojpmb28oKTsgICAgICAgICAgLy9zeW50YXggMiAtIHNpbXBsZQogICAgICAgIHRoaXMtPmZvbygpOyAgICAgICAgICAgICAgICAgICAvL3N5bnRheCAzIC0gc2ltcGxlcgogICAgfQp9OwoKaW50IG1haW4oKSB7CgkKICAgICAgICBkZXJpdmVkPGludD4geDsKICAgICAgICB4LmYoKTsKCXJldHVybiAwOwp9
-
upload with new input
-
result: Success time: 0s memory: 2724 kB returned value: 0
foo foo foo


