📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年 12 月 – III |问题 74(1)

📅  最后修改于: 2023-12-03 14:54:49.195000             🧑  作者: Mango

UGC NET CS 2015 年 12 月 – III | 问题 74
简介

UGC NET是印度国家资格测试,旨在评估和认可各种科学和文学领域的印度国家范围内的资格水平。UGC NET CS (计算机科学)是该考试的一个科目,涵盖了计算机科学和应用领域的广泛知识。

问题74是UGC NET CS 2015年12月第三轮考试中的一个问题,以下将对该问题进行分析和介绍。

问题描述

问题74的描述如下:

在下面的C++代码片段中,给出了对类`Person`的声明和两个成员函数`getName()`和`getInfo()`的定义。请根据代码选择正确的选项。

class Person { string name;

public: Person(string n) { name = n; }

string getName() {
    return name;
}

void getInfo() {
    cout << "Name: " << getName();
}

};

int main() { Person p("John Doe"); p.getInfo(); return 0; }


选项:
(A) 编译错误,因为`getInfo()`函数未返回任何值。
(B) 编译错误,因为构造函数未定义。
(C) 编译错误,因为没有包含必要的头文件。
(D) 代码将正常编译并输出: `Name: John Doe`。

请从选项(A)(B)(C)(D)中选择正确答案。

分析

根据给定的C++代码,我们可以看到类Person具有一个具有string类型参数的构造函数,用于初始化name成员变量。类还定义了两个成员函数:getName()getInfo()

getName()函数返回name成员变量的值,而getInfo()函数在输出时调用了getName()函数。

在主函数中,我们创建了一个名为pPerson对象,并通过调用getInfo()函数来输出对象的信息。

解答

根据代码分析,正确答案为选项 (D),代码将正常编译并输出: Name: John Doe

附加信息

为了编写完整的Markdown格式文档,这里给出了对应的代码片段的Markdown标记:

```cpp
class Person {
    string name;

public:
    Person(string n) {
        name = n;
    }

    string getName() {
        return name;
    }

    void getInfo() {
        cout << "Name: " << getName();
    }
};

int main() {
    Person p("John Doe");
    p.getInfo();
    return 0;
}

请注意,为了正确显示Markdown标记,我们使用了三个反引号(```cpp)来标记代码块,并在第一个和最后一个反引号后添加了一个空行。