有以下程序:#include <iostream>using namespace std;class sample{private: int n;public: sample() {} sample(int m) {

admin2013-02-27  17

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

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

答案D

解析 本题考核this指针的应用。上述程序中,sample类的add成员函数中使用了this指针,this指针指向当前对象自身,该成员函数中的语句:this->n=s1. n+s2.n;,用于修改当前对象的数据成员n的值,语句:return(*this);用于返回当前对象自身,即对当前对象进行了修改。对于main()函数调用add成员函数语句 “s3.add(s1,s2);”。此时,this指针指向的是对象s3,执行该语句前,s3的数据成员n未赋值,执行完该语句后,就修改了s3的私有成员n的值,使其为15。
转载请注明原文地址:https://kaotiyun.com/show/aYVp777K
0

最新回复(0)