问题
单项选择题
有以下程序: #include <iostream> using namespace std; class sample { private:int n; public:sample(){}sample (int m){ n=m;sample add(sample sl,sample s2){ this->n=sl.n+s2.n; return (*this);}void disp(){ cout<<"n="<<n<<end1;} }; int main ( ) {sample sl(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指针的使用。类中成员函数add中的this指针指向该成员函数被调用的对象。在主函数main()中调s3.add(s1,s2),即对象s3的私有变量n的值为对象s1和s2私有变量的和,所以程序最后输出15,即选项D。