设有以下类和对象的定义: 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;
设有以下类和对象的定义: 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。
相关考题:
有如下类定义:class MyBase{int k;public;MyBase(int n=0):k(n){}int value()const{return k;}};class MyDerived; MyBase{int j;public;MyDerived(int i): j(i){}int getK()const {return k;}int gutj()const{return j;}};编译时发现有一处语法错误,对这个错误最佳准确的描述是____A.函数getK 试图访问基类的私有成员变量KB.在类MyDerived 的定义中,基类名MyBase 前缺少关键字public、protected 或privateC.类MyDerived 缺少一个无参的构造函数D.类MyDerived 的构造的数没有对基数数据成员K 进行初始化
( 31 ) 有如下类定义 :class MyBase{int k;public:MyBase(int n=0):k(n){ }int value( )const{ return k;}};class MyDerived: MyBase{int j;public:MyDerived(int i): j(i) {}int getK( )const{ return k; }int getJ( )const{ return j; }};编译时发现有一处语法错误 , 对这个错误最准确的描述是A )函数 getK 试图访问基类的私有成员变量 kB ) 在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public ,protected 或 privateC )类 MyDerived 缺少一个无参的构造函数D )类 MyDerived 的构造函数没有对基类数据成员 k 进行初始化
有如下类定义: class MyBase { int k; public: MyBase(int n=0):k(n) { } int value( )const{ return k;} }; class MyDerived: MyBase { intj; public: MyDerived(int i): j(i) {} int getK( )const{ return k; } int getJ( )const{ return j; } }; 编译时发现有一处语法错误,对这个错误最准确的描述是A.函数getK试图访问基类的私有成员变量kB.在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或privateC.类MyDerived缺少一个无参的构造函数D.类MyDerived的构造函数没有对基类数据成员k进行初始化
设有以下类和对象的定义: class A {public: int m; }; A k1,k2,*p1,*p2; 则下面针对成员变量m的引用,错误的是( )。A.k1.m=1B.k2->m=2C.p1->m=3D.(*p2).m=4
( 29 )已知类 MyClass 声明如下:class MyClass{int n;public;MyClass ( int k ) : n ( k ) {}int getValue () const{return n;}};在下列数组定义中正确的是A ) MyClass x1[2];B ) MyClass x2[2]={new MyClass ( 1 ) , new MyClass ( 2 ) };C ) MyClass *x3[2];D ) MyClass *x4[2]={MyClass ( 1 ) , MyClass ( 2 ) };
若类A和类B的定义如下:includeclass A{int i,j;public:int geti(){return i;}};class 若类A和类B的定义如下: #include<malloc.h> class A { int i,j; public: int geti() { return i; } }; class B:public A { int k; public: void make() { k=i*j; } }; 则上述定义中非法的表达式是( )。A.k=i*jB.int k;C.return i;D.void make();
有如下类声明: class MyBASE { int k: public; void set(int n){k=n;} int get() const{return k;} }; class MyDERIVED: protected MyBASE { protected: int j; public: void set(int m, int n){MyBASE::set(m);j=n;} int get() const{return MyBASE::get()+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是( )。A.4B.3C.2D.1
若类A和类B的定义如下class A{int i,j;public:int geti( ){return i;}};class B:public A{int k:public:void make( ){k=i*j;}};则上述定义中非法的语句是A.k=i*jB.int k;C.return i;D.void make()
对下面程序描述正确的是()。 include using namespace std; class A { private:int 对下面程序描述正确的是( )。 #include < iostream > using namespace std; class A { private: int i; public: class B { private: int j; protected: int k; int fun1 ( ); } MyB; int fun2 ( ); }A.定义类B的对象的语句是: A::B b;B.类A的成员函数fun2()可以用MyB.j的方式访问类B的私有成员j。C.类A的成员函数fun2()可以用MyB.k的方式访问类B的保护成员k。D.类B的成员函数fun1()可以直接访问类A的私有成员i。
设有以下程序: include using namespace std; int main() {inta,b,k:4,m=6,*p1=k 设有以下程序:include<iostream>using namespace std;int main(){int a,b,k:4,m=6,*p1=k,*p2=m;a=p1==m;b=(*p1)/(*p2)+7;cout<<a<<b<<end1;return 0;}执行该程序后,a的值为【 】,b的值为【 】。
有如下类声明: class MyBASE{ int k; public: void set(iht n){k=n;} int get()coast{return k;} }; class MyDERIVED:pnoted My BASE { protected: int j; public: void set(int m,int n){MyBASE::set(m);j=n;} int get()const{return MyBASE::get()+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是A.4B.3C.2D.1
若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是A.k=i*j;B.int k;C.return i;D.void make()
若类A和类B的定义如下:includeclass A{int i*j;public:int geti(){return i;}};class 若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。A.k=i*j;B.int k;C.return i;D.void make();
有如下类声明: class MyBASE{ int k; public: void set(int n){k=n;} int get( )const{return k;} }; class MyDERIVED:protected MyBASE{ protected: intj; public: void set(int m,int n){MyBASE::set(m);j=n;} int get( )const{return MyBASE::get( )+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是A.4B.3C.2D.1
若类A和类B的定义如下: class A { int i,j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j } }; 则上述定义中A.k=i*j;B.int k;C.return i;D.void make()
下面是类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.语句①、②、③和④都不正确
设有以下类和对象的定义: ClaSSA {public: intm; }; Ak1,k2,*p1,*p2; 则下面针对成员变量m的引用,错误的是( )。A.k1.m=1B.k2→m=2C.p1→m=3D.(*p2).m=4
若类A和类B的定义如下: class A { public: int i,j; void get(); }; class B:A{ int i, j; protected; int k; public: void make(); }; void B: :make()(k=i*j;} 则其中 ______ 是非法的表达式。A.void get();B.int k;C.void make();D.k=i*j;
若类A和类B的定义如下: class A { int i,j; public: void get(); //… } ; class B:A//默认为私有派生 { int k; public: void make(); //… }; void B::make() { k=i*j; } 则上述定义中, ( )是非法的表达式。A.void get();B.int k;C.void make();D.k=i*j;
已知类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);
设有以下定义:class person{int num;char name[10];public:void init (int n, char *m);┇};person std [30];则下面叙述中,不正确的是( )。A.std是一个含有30个元素的对象数组B.std数组中的每个元素都是person类的对象C.std数组中的每个元素都有自己的私有变量num和nameD.std数组中的每个元素都有各自的成员函数init
若有以下程序:includeusing namespaces std;class A{public:A(){}A(int i){x1=i; } v 若有以下程序: #include<iOStream> using namespaces std; class A { public: A(){} A(int i) { x1=i; } void dispa() { cout<<"X1="<<x1<<",": } private; int x1; }; class B:public A { public: B(){} B(int i):A(i+10) { x2=i; } void dispb() { dispa(); cout<<"x2="<<x2<<end1; } private: int x2; }; . int main() { B b(2); b.dispb() return 0; } 程序运行后的输出结果是( )。A.x1=10,x2=2B.x1=12,x2=10C.x1=12,x2=2D.x1=2,x2=2
以下程序的运行结果为:public class A {static int k=3;public static void main(String[] args) {int k=4;A x1=new A();x1.k++;A x2=new A();x2.k++;k++;System.out.println(x1.k);}} A. 3B. 4C.5D.6E.7
若有类W说明class W{int a;public:voidfConst(int)const;};,则函数fConst的正确定义是()A、void W::fConst(intk)const{k=a;}B、void W::fConst(intk)const{k=a++;}C、void W::fConst(intk)const{cina;}D、void W::fConst(intk)const{a=k;}