- #include <iostream> 
-   
- using namespace std; 
-   
-   
- class A{ 
-   char m_byteValue; 
- public: 
-   A(unsigned char c) { 
-     m_byteValue = c; 
-   } 
- }; 
-   
-   
- class B{ 
-   int m_a; 
- public: 
-   B(){ 
-     m_a = 2; 
-   } 
-   int Set(B *); 
-   int Set(const A&); 
- }; 
-   
- int B::Set(const A& v) { 
-   cout << "I am in the const ref function\n"; 
-   return 0; 
- } 
-   
- int B::Set(B* p) { 
-   cout << "I am in the pointer function\n"; 
-   return 0; 
- } 
-   
- int main(){ 
-   const unsigned char a = 0; 
-   const unsigned char b = 1; 
-   unsigned char c = 0; 
-   unsigned char d = 1; 
-   B var; 
-   var.Set(a); 
-   var.Set(b); 
-   var.Set(c); 
-   var.Set(d); 
-   return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpjbGFzcyBBewogIGNoYXIgbV9ieXRlVmFsdWU7CnB1YmxpYzoKICBBKHVuc2lnbmVkIGNoYXIgYykgewogICAgbV9ieXRlVmFsdWUgPSBjOwogIH0KfTsKCgpjbGFzcyBCewogIGludCBtX2E7CnB1YmxpYzoKICBCKCl7CiAgICBtX2EgPSAyOwogIH0KICBpbnQgU2V0KEIgKik7CiAgaW50IFNldChjb25zdCBBJik7Cn07CgppbnQgQjo6U2V0KGNvbnN0IEEmIHYpIHsKICBjb3V0IDw8ICJJIGFtIGluIHRoZSBjb25zdCByZWYgZnVuY3Rpb25cbiI7CiAgcmV0dXJuIDA7Cn0KCmludCBCOjpTZXQoQiogcCkgewogIGNvdXQgPDwgIkkgYW0gaW4gdGhlIHBvaW50ZXIgZnVuY3Rpb25cbiI7CiAgcmV0dXJuIDA7Cn0KCmludCBtYWluKCl7CiAgY29uc3QgdW5zaWduZWQgY2hhciBhID0gMDsKICBjb25zdCB1bnNpZ25lZCBjaGFyIGIgPSAxOwogIHVuc2lnbmVkIGNoYXIgYyA9IDA7CiAgdW5zaWduZWQgY2hhciBkID0gMTsKICBCIHZhcjsKICB2YXIuU2V0KGEpOwogIHZhci5TZXQoYik7CiAgdmFyLlNldChjKTsKICB2YXIuU2V0KGQpOwogIHJldHVybiAwOwp9