使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句: TestClass1:0 TestClass2 注意:不要改动main函数,不能增行或删行,也不能更改程序

admin2017-11-27  20

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:
    TestClass1:0
    TestClass2
    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
#include
struct TestClass1
{
    TestClass1(int i=0)
    {
    m_i=i;
    }
    void print()
    {
    cout<<"TestClass1:"<<    };
    int m_i;
};
Class TestClass2
{
public:
    TestClasS2()
    {
    }
    void print()
    {
    cout<<”TestClass2”<    };
    //********error********
private:
    ~TestClass2()
    {
    }
};
int main()
{
    //********error********
    TestClass1 obj1();
    //********error********
    TestClass2 obj 2();
    obj1.print();
    obj2.print();
    return 0;
}

选项

答案(1)public: (2)TestClass1 obj1(0);或TestClass1 obj1; (3)TestClass2 obj2;

解析 (1)第1个标识下的“private:    ~TestClass2()”是析构函数,它不是私有的,所以这里应该为“删除private:或修改为public:”。
(2)第2个标识下的“TestClass1 obj1();”语句是定义一个TestClass1类型的对象obj10,根据类TestClass1构造函数的定义“TestClass1(int i=0)”,知道存在整型参数,应该补充参数,或者只是先定义一个对象名,然后在使用时补充参数,即修改为“TestClass1 obj1(0);或TestClass1 obj1;”。
(3)同理第3个标识下的“TestClass2 obj20;”语句修改为“TestClass2 obj2;”。
转载请注明原文地址:https://kaotiyun.com/show/8DAp777K
0

最新回复(0)