如何在类成员函数中打印调用者对象名?

时间:2012-04-26 11:33:59

标签: c++

参见示例

  class MyClass {
    public:
    void fn() {
            // Here  I want to print caller object name,( here it is  ***it1***)
        }
    };


    int main() {
        MyClass it1;
        it1.fn();
        return 0;
   }

1 个答案:

答案 0 :(得分:0)

实例的变量名称不可用主要是由于两个原因:

  1. 这不是被调用函数的业务,因此无法访问。程序编程的重点是通过除形式参数之外的任何东西访问调用上下文。
  2. 变量名称对最终程序没有影响。你是否应该调用你的变量it1,foo甚至是匿名处理它并不重要。
  3. 或者,简而言之:如果fn()是常量,您可以暂时调用它:

    MyClass().fn();
    

    那么你的答案是什么?什么是MyClass对象数组?变量名称决定调用哪些函数,而不是这些函数的工作方式。