-3

看例子

  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;
   }
4

1 回答 1

0

实例的变量名不可用主要有两个原因:

  1. 与被调用函数无关,因此无法访问。过程编程的重点不是通过形式参数以外的任何方式访问调用上下文。
  2. 变量名对最终程序没有影响。无论您调用变量 it1、foo 还是匿名对待它,都不应该也不重要。

或者,简而言之:如果fn()是 const,你可以用一个临时的来调用它:

MyClass().fn();

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

于 2012-04-26T12:17:14.443 回答