计算机二级

下面是关于静态成员的说法,其中不正确的是( )。A.静态函数没有this指针B.同一个类的不同对象拥有相同的静态数据成员C.静态数据成员的初始化必须在类外进行D.静态函数可以访问所有数据成员

题目

下面是关于静态成员的说法,其中不正确的是( )。

A.静态函数没有this指针

B.同一个类的不同对象拥有相同的静态数据成员

C.静态数据成员的初始化必须在类外进行

D.静态函数可以访问所有数据成员

参考答案和解析
正确答案:D
解析:只有静态函数才能访问静态成员。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在C++中,使用静态成员解决同一个类的不同对象之间的数据共享问题。以下关于一个类的静态成员的叙述中,说法错误的是(47)。

A.静态成员变量可被该类的所有方法访问

B.该类的对象共享其静态成员变量的值

C.该类的静态数据成员变量的值不可修改

D.该类的静态方法只能访问该类的静态成员变量


正确答案:D
解析:静态成员作为类的一种成员,它被类的所有对象共享,而不是属于某个对象的。静态成员可分为静态成员变量和静态方法。静态成员变量的值可以被更新。只要对静态成员变量的值更新一次,所有对象的该静态成员变量值都会被更新。静态成员函数可以直接访问静态成员,但不能直接访问非静态成员。选项D“该类的静态方法只能访问该类的静态成员变量”的说法不够准确。

第2题:

下列关于this指针的叙述中,正确的是( )。

A.任何与类相关的函数都有this指针

B.类的成员函数都有this指针

C.类的友元函数都有this指针

D.类的非静态成员函数才有this指针


正确答案:D
解析: 本题考查的是this指针的使用。类的每一个成员函数都有一个隐含的常量指针,即this指针。类的静态成员函数不能含有this指针,因为this指针是一个指向本对象的指针。

第3题:

关于静态数据成员的描述中正确的是( )。

A.类的静态数据成员不是类的所有对象共享的数据

B.类的静态数据成员不能被类的成员函数调用

C.类的静态数据成员不能被类的构造函数调用

D.类的静态数据成员必须进行初始化


正确答案:D
解析: C++类中的静态成员变量是该类中所有对象所共有的,它能够被类中的任何函数调用,所以选项A, B,C是错误的。而类的静态数据成员是必须要进行初始化才能使用的。

第4题:

下列关于静态数据成员的描述中,正确的是( )。

A.静态数据成员是类的所有对象共享的数据

B.类的每个对象都有自己的静态数据成员

C.类的不同对象有不同的静态数据成员值

D.静态数据成员不能通过类的对象调用


正确答案:A
解析:静态数据成员是被类的所有对象共享,它不属于类的任何一个对象,它的作用域是类范围。静态数据成员在每个类对象中并不占有存储空间,它只是每个类中分配有存储空间,供所有对象公用。静态数据成员的值对每个对象都一样,但它的值可以被任何一个对象更新,从而实现了同一类的不同对象之间的数据共享。

第5题:

在下面有关静态成员函数的描述中,正确的是()。

A、在静态成员函数中可以使用this指针

B、在建立对象前,就可以为静态数据成员赋值

C、静态成员函数在类外定义时,要用static前缀

D、静态成员函数只能在类外定义


参考答案:B

第6题:

以下叙述中不正确的是

A.一个类的友元函数可以无条件的使用这个类的私有成员

B.静态成员函数可以直接访问非静态数据成员

C.不可以声明抽象类的对象,但可以声明抽象类的指针变量

D.静态数据成员为类的所有对象所共有


正确答案:B
解析:静态成员函数不能直接访问非静态数据成员。静态成员只有一份,供同一类的不同对象共享。友元函数对类的访问是完全开放的,从而增加了访问类的灵活性,但却破坏了类的封装性。

第7题:

● 在关于类的实例化的描述中,正确的是() 。()A.同一个类的对象具有不同的静态数据成员值B.不同的类的对象具有相同的静态数据成员值C.同一个类的对象具有不同的对象自身引用(this)值D.不同的类的对象具有相同的对象自身引用(this)值


正确答案:C
    学过面向对象编程语言的人,应该对this这个关键字并不陌生,它是对象自身引用值。程序当运行时,this相当于当前类产生对象的名称。所以对于同一个类的对象具有不同的对象自身引用(this)值。

第8题:

下面对静态数据成员的描述中,正确的是

A.静态数据成员是类的所有对象共享的数据

B.类的每个对象都有自己的静态数据成员

C.类的不同对象有不同的静态数据成员值

D.静态数据成员不能通过类的对象调用


正确答案:A
解析:静态数据成员是类的所有对象中共享的成员,而不是某个对象的成员。

第9题:

下列关于this指针的说法,错误的是()。

A.静态成员函数中可以通过this指针访问非静态成员

B.在成员函数中对非静态数据成员的访问是通过this指针完成的

C.this指针指向当前正在操作的对象

D.this指针只存在于非静态成员函数中


正确答案:A

第10题:

在关于类的实例化的描述中,正确的是(20)。

A.同一个类的对象具有不同的静态数据成员值

B.不同的类的对象具有相同的静态数据成员值

C.同一个类的对象具有不同的对象自身引用(this)值

D.不同的类的对象具有不同的对象自身引用(this)值


正确答案:C
解析:由同一个类实例化得到的不同对象具有相同的数据成员,但数据成员的值是不同的。静态数据成员用来实现同一个类的不同对象之间的数据共享。同一个类的不同对象共享静态数据成员值,当通过一个对象改变了静态数据成员的值时,通过同类的其他对象可以看到这个修改。因此选项A,B关于静态数据成员的描述都是错误的。对象自身引用是面向对象程序设计中特有的且十分重要的机制。每个对象都有属于自己的对象自身引用值。

更多相关问题