📅  最后修改于: 2023-12-03 14:54:49.195000             🧑  作者: Mango
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()
函数。
在主函数中,我们创建了一个名为p
的Person
对象,并通过调用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)来标记代码块,并在第一个和最后一个反引号后添加了一个空行。