有如下程序: #include using namespace std; class TestClass, { public: TestClass(){cout

admin2012-12-29  35

问题 有如下程序:
    #include
    using namespace std;
    class TestClass,
    {
    public:
    TestClass(){cout<<“default conStructor\n”;}
    TestClass(const TestClass&x){conf<<“copy constructor\n”;}
    };
    TestClass userCode(TestClass b){TestClass c(b);return c;}
    int main()
    {
    TestClass a,d;
    tout<<“calling userCode()\n”;
    d=userCode(a);
    return 0:
    }
    执行上面程序的过程中,构造函数TestClass()和TestClass(const TestClass&x)被调用的次数分别是 (             )。

选项 A、2次3次
B、3次  2次
C、都是2次
D、都是3次

答案A

解析 由主函数入手,定义了类TestClass的对象a和d,当类对象进入其作用域时调用构造函数,构造函数在建立对象时由系统自动执行,而且只执行一次。因为定义了两个对象,所以构造函数TestClass()被调用的次数是2。“d=userCode(a);”语句d中调用成员为a的useCode()成员函数,所以是3次。
转载请注明原文地址:https://kaotiyun.com/show/TrVp777K
0

最新回复(0)