有以下程序: #include <iostream> using namespace std; class sample { private: iht n; public:

admin2013-02-27  26

问题 有以下程序:      #include <iostream>      using namespace std;      class sample     {      private:         iht n;      public:         sample(){}         sample(int m)       {           n=m;       }         void addvalue(int m)       {           sample s;           s.n=n+m;           *this=s;        }        void disp()       {           cout<<"n="<<n<<end1;       }      };      int main()      {         sample s(10);         s.addvalue(5);         s.disp();         return 0;     }     程序运行后的输出结果是

选项 A、n=10
B、n=5
C、n=15
D、n=20

答案4

解析 本题考核this指针的应用。上述程序中sample类定义了一个addvalue非静态成员函数。addvalue 函数的原型是:void addvalue(sample*this,int m);,该函数的第一个参数是执行该类对象的一个指针即this指针。由于这个参数是系统隐含的,所以我们在定义该成员函数时并没有看到这样一个参数。在成员函数的定义体中,可以通过this访问这一参数。上述程序的最后输出结果是15。
转载请注明原文地址:https://kaotiyun.com/show/MvVp777K
0

最新回复(0)