首页 > 试题广场 >

有下列程序 using namespace std; cla

[单选题]
有下列程序
using namespace std;
class SC {
public:
    SC(int r){R =_____________;}
    int Get(){return *R;};
private:
    int *R;
};
int main() { 
    SC C(10);
    cout <<C.Get()<< endl;
    return 0;
}
请将构造函数补充完整,使得程序的运行结果是10。
  • new int R
  • R = new int(r);
  • &r
  • *r
本题正确答案应为 R = new int(r);
C选项 &r;   R指的是r的位置,但是r是临时变量,生命周期结束之后r被释放,其内存地址不安全,会被其他变量重新定义。其值也是不确定的
编辑于 2021-02-17 20:38:21 回复(5)
注意赋值形参的地址没有意义
发表于 2021-04-05 21:51:22 回复(0)
本题正确答案应为 R = new int(r); B选项 &r;   R指的是r的位置,但是r是临时变量,生命周期结束之后r被释放,其内存地址不安全,会被其他变量重新定义。其值也是不确定的
发表于 2020-07-14 07:57:33 回复(0)
对于编程风格要求较高的我来说,做这种题简直就是折磨。
发表于 2023-08-15 17:09:24 回复(1)
选A
发表于 2020-07-24 19:51:22 回复(1)
<p>有问题🤨</p>
发表于 2020-12-02 12:35:22 回复(0)
必须要传一个引用类型的
发表于 2019-10-06 12:56:30 回复(1)
错题,多了R = 
发表于 2023-07-17 23:01:03 回复(0)
<p>错题</p>
发表于 2020-09-26 22:40:35 回复(0)