#include <iostream>
using namespace std;

template <typename T>
const T* make_const(T *ptr) {
    return ptr;
}

#define const_this make_const(this)

struct MyQuestion
{
	void fun()
	{ cout<<"a"; }
	
	void fun()const
	{ cout<<"b"; }

	void call()
	{
	    const_this->fun();   // calls fun() const
	
	    fun();               // calls fun()
	}
};

int main() {
	MyQuestion q;
	q.call();
}