#include <iostream>
using namespace std;
class base {
public:
base();
base(const base& orig);
virtual ~base();
void baseMethod(int);
private:
};
base::base()
{
}
base::~base() {
}
void base::baseMethod(int a)
{
std::cout<<"base::baseMethod : "<<a<<std::endl;
}
class derivative : public base{
public:
derivative();
derivative(const derivative& orig);
virtual ~derivative();
void derivativeMethod(int);
void baseMethod(int);
private:
};
derivative::derivative() : base(){
}
derivative::~derivative() {
}
void derivative::baseMethod(int a)
{
std::cout<<"derivative::baseMethod : "<<a<<std::endl;
}
void derivative::derivativeMethod(int a)
{
baseMethod(a);
derivative::baseMethod(a);
}
int main()
{
derivative t;
t.baseMethod(1);
t.derivativeMethod(2);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgYmFzZSB7CnB1YmxpYzoKICAgIGJhc2UoKTsKICAgIGJhc2UoY29uc3QgYmFzZSYgb3JpZyk7CiAgICB2aXJ0dWFsIH5iYXNlKCk7CiAgICB2b2lkIGJhc2VNZXRob2QoaW50KTsKCnByaXZhdGU6Cn07CgpiYXNlOjpiYXNlKCkKewp9CgpiYXNlOjp+YmFzZSgpIHsKfQoKdm9pZCBiYXNlOjpiYXNlTWV0aG9kKGludCBhKQp7CiAgICBzdGQ6OmNvdXQ8PCJiYXNlOjpiYXNlTWV0aG9kIDogIjw8YTw8c3RkOjplbmRsOwp9CgpjbGFzcyBkZXJpdmF0aXZlIDogcHVibGljIGJhc2V7CnB1YmxpYzoKICAgIGRlcml2YXRpdmUoKTsKICAgIGRlcml2YXRpdmUoY29uc3QgZGVyaXZhdGl2ZSYgb3JpZyk7CiAgICB2aXJ0dWFsIH5kZXJpdmF0aXZlKCk7CiAgICAKICAgIHZvaWQgZGVyaXZhdGl2ZU1ldGhvZChpbnQpOwogICAgdm9pZCBiYXNlTWV0aG9kKGludCk7CnByaXZhdGU6CiAgICAKfTsKCmRlcml2YXRpdmU6OmRlcml2YXRpdmUoKSA6IGJhc2UoKXsKfQoKZGVyaXZhdGl2ZTo6fmRlcml2YXRpdmUoKSB7Cn0KCnZvaWQgZGVyaXZhdGl2ZTo6YmFzZU1ldGhvZChpbnQgYSkKewogICAgc3RkOjpjb3V0PDwiZGVyaXZhdGl2ZTo6YmFzZU1ldGhvZCA6ICI8PGE8PHN0ZDo6ZW5kbDsKfQoKdm9pZCBkZXJpdmF0aXZlOjpkZXJpdmF0aXZlTWV0aG9kKGludCBhKQp7CiAgICBiYXNlTWV0aG9kKGEpOwogICAgZGVyaXZhdGl2ZTo6YmFzZU1ldGhvZChhKTsKfQoKaW50IG1haW4oKQp7CiAgICBkZXJpdmF0aXZlIHQ7CiAgICB0LmJhc2VNZXRob2QoMSk7CiAgICB0LmRlcml2YXRpdmVNZXRob2QoMik7Cn0=