#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <stdint.h>
#include <pthread.h>
#include <vector>
#include <map>
#include <set>
using namespace std;
class A {
public:
void fun() {
cout << __PRETTY_FUNCTION__ << endl;
}
void fun(int x) {
cout << __PRETTY_FUNCTION__ << endl;
}
};
class B: public A {
public:
//using A::fun; //solution 3
void fun(int x) {
cout << __PRETTY_FUNCTION__ << endl;
}
};
int main(int argc, char* argv[]) {
B b;
//b.fun();//compile error, name hiding occurs
b.A::fun(); //solution 1
A* pa = &b;
pa->fun(); //solution 2
return 0;
}