已知类X的定义如下,为了实现将对象成员k的值修改为678,下面的哪条语句是正确的 ______。classX{ p

题目

已知类X的定义如下,为了实现将对象成员k的值修改为678,下面的哪条语句是正确的 ______。 class X{ private: int k; public: K(int n){k=n;} set(int n){k=m;} }; void fun(){ X a(10),*p=&a; ______ }

A.p->set(678);

B.X(678):

C.p->k=678;

D.p.set(678);

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

对下列定义的类A,在函数main()中将对象成员k的值修改为100的语句应该是()。 #include <iostream> using namespace std; class A { private:int k; public: A(int n){k=n;} void set(int n) { k=n; } }; void main() { A a(10),*p=&a; }

A.p->set(100);

B.A(100);

C.p->k=100;

D.set(100);


第2题:

172、已知Circle类定义如下所示,则下列说法正确的是()。 class Circle { public: double m_x,m_y; double m_radius; void setCenter(double x,double y) { m_x=x; m_y=y; } void setRadius(double radius) { m_radius=radius; } double getArea() { return 3.14 * m_radius * m_radius; } };

A.m_x、m_y和m_radius都是Circle类的成员变量

B.setCenter、setRadius和getArea都是Circle类的成员函数

C.类定义体后面的分号可以省略

D.将double m_radius;改为double m_radius=1;,则表示m_radius成员变量的初值为1


m_x、m_y和m_radius都是Circle类的成员变量;setCenter、setRadius和getArea都是Circle类的成员函数

第3题:

设有以下类和对象的定义: class A { public: int k; }; A x1,x2,*p1,*p2; 则下面针对成员变量k的引用,正确的是

A.x2.k=2;

B.x1->k=1;

C.p1.k=3;

D.(*p2)->k=4;


B 解析:本题也是考察有名对象和无名对象的使用规则。对有名对象,要使用点操作符,无名对象要使用箭头运算符。据此可以判断正确答案为B。

第4题:

设有以下类和对象的定义: class A { public: int k; }; A x1,x2,*p1,*p2; 则下面针对成员变量k的引用,正确的是

A.x2.k=2;

B.x1->k=1;

C.p1.k=3;

D.(*p2)->k=4;


B 解析:本题也是考察有名对象和无名对象的使用规则。对有名对象,要使用点操作符,无名对象要使用箭头运算符。据此可以判断正确答案为B。

第5题:

设有以下类和对象的定义: class A {public: int k; }; A x1,x2,*p1,*p2; 则下面针对成员变量k 的引用,正确的是()。

A.x1->k=1;

B.x2.k=2;

C.p1.k=3;

D.(*p2)->k=4;


B 解析:本题也是考察有名对象和无名对象的使用规则。对有名对象,要使用点操作符,无名对象要使用箭头运算符。据此可以判断正确答案为B。

第6题:

37、设有以下类和对象的定义:class A {public: int k; }; A x1,x2,*p1,*p2; 则下面针对成员变量k的引用,正确的是()。

A.x1->k=1;

B.x2.k=2;

C.p1.k=3;

D.(*p2)->k=4;


B 解析:本题也是考察有名对象和无名对象的使用规则。对有名对象,要使用点操作符,无名对象要使用箭头运算符。据此可以判断正确答案为B。

第7题:

下面是类MyChss的定义,对定义中语句描述正确的是( )。class MyClass{public:void MyClass(int a){X=a;) //①int f(int a, int b) //②{X=a;Y=b;}int f(int a,int b,int c=0) //③{X=a;Y=b;Z=c;stahc void g (){X=10;) //④private:int X,Y,Z;};

A.语句①是类MyClass的构造函数定义

B.语句②和语句③实现类成员函数的重载

C.语句④实现对类成员变量X的更新操作

D.语句①②③和④都不正确


正确答案:D

第8题:

下面是类MyClass的定义,对定义中各语句描述正确的是( )。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,

A.语句①是类MyClass 的构造函数的定义

B.语句②和③实现类成员函数的重载

C.语句④实现对类成员变量x的更新操作

D.语句①、②、③和④都不正确


正确答案:D
解析:在C++中构造函数没有返回类型,所以语句①是错误的。语句②和语句③在进行f(x,y)调用时会产生二义性。静态成员函数不能直接访问类中说明的非静态成员。所以语句④也是错误的。

第9题:

下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

class MyClass { publiC: void MyClass(int a) //①

{ x=a; ) int func(int a,int b) //②

{ x=a; y=b; } int func(int a,int b,int c=0) //③

{ x=a; y=b; z=c; } static void resetValue() //④

{ x=0; } private: int X,y,Z; };

A.语句①是类MyClass的构造函数定义

B.语句②和语句③实现类成员函数的重载

C.语句④实现对类成员变量x的清零操作

D.语句①、②、③和④都不正确


正确答案:D
解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。