有如下程序段: #include<iostream> using namespace std; class A { public: int data; static int data2; void show() { cout<<data<<endl://1

admin2021-02-22  21

问题 有如下程序段:
#include<iostream>
using namespace std;
class A
{
public:
int data;
static int data2;
void show()
{
cout<<data<<endl://1
cout<<data2<<endl://2
}
static void print()
{
cout<<data<<endl://3
tout<<data2<<endl://4
}
};
int A::data2=8:
编译时出错的语句的编号是(    )。

选项 A、1
B、2
C、3
D、4

答案C

解析 A类中,定义了两个数据成员:普通数据成员data和静态数据成员data2;定义了两个成员函数:普通成员函数show()和静态成员函数print()。
①静态数据成员data2必须在类定义体的外部定义,定义时不能标示为static。
②普通成员函数show()可以访问普通数据成员data和静态数据成员data2;静态成员函数print()可以直接访问静态数据成员data2,但不能直接使用普通成员data。所以题意中,语句3编译出错。故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/T9fp777K
0

最新回复(0)