8、设有以下类和对象的定义: class A {public: int m; ... }; A k1,k2,*p1,*p2; 则下面针对成员变量m的引用,正确的是()。A.k1.m=1;B.k2->m=2;C.p1.m=3;D.(*p2)->m=4
8、设有以下类和对象的定义: class A {public: int m; ... }; A k1,k2,*p1,*p2; 则下面针对成员变量m的引用,正确的是()。
A.k1.m=1;
B.k2->m=2;
C.p1.m=3;
D.(*p2)->m=4
参考答案和解析
B 解析:本题也是考察有名对象和无名对象的使用规则。对有名对象,要使用点操作符,无名对象要使用箭头运算符。据此可以判断正确答案为B。
相关考题:
有如下两个类声明class AA {public:int m;};class BB: protected AA{int n;};在类BB中,数据成员m的访问属性是 _____ ,数据成员n的访问属性是 _______ 。
设有以下类和对象的定义: class A {public: int m; }; A k1,k2,*p1,*p2; 则下面针对成员变量m的引用,错误的是( )。A.k1.m=1B.k2->m=2C.p1->m=3D.(*p2).m=4
设有以下类的定义:class Ex{ int x;public:void setx(int t=0);};若在类外定义成员函数setx( ),以下定义形式中正确的是A.void setx(int t){…}B.void Ex::setx(int t){…}C.Ex::void setx(int t){…}D.void Ex::setx( ){…}
( 13 )有如下类定义:class XX{int xdata;public:XX(int n=0) : xdata (n) { }};class YY : public XX{int ydata;public:YY(int m=0, int n=0) : XX(m), ydata(n) { }};YY 类的对象包含的数据成员的个数是A ) 1B ) 2C ) 3D ) 4
有如下类声明: 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
设有定义:class C{ public:int value;…};int x,*p;则以下引用形式中,正确的是A.x=value;B.x=C::value;C.p=valueD.p=C::value
设有定义: class person {int num; char name[10]; public: void init(int n,char*m) }; personstd[30] 则以下叙述不正确的是( )。A.std是一个含有30个元素的对象数组B.std数组中的每个元素都是person类的对象C.std数组中的每个元素都有自己的私有变量num和nameD.std数组中的每个元素都有各自的成员函数init
设有基类定义:class Cbase{ private:int a;protected:int b;public:int c;};派生类采用何种继承方式可以使成员变量b成为自己的私有成员A.私有继承B.保护继承C.公有继承D.私有、保护、公有均可
给出下列代码,如何使成员变量m被方法fun( )直接访问?Class Test{private int m;public static void fun( ){} }A.将private int m改为protected int mB.将private int m改为public int mC.将private int m改为static int mD.将private int m改为int m
设有以下程序: 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的值为【 】。
给出下列代码,如何使成员变量m被方法fun( )直接访问? class Test{ private int m; public static void fun( ){ … } }A.将private int m改为protected int mB.将private int m改为public int mC.将private int m改为static iD.将private int m改为int m
有如下类声明: 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
请按下面注释的提示,将类B的构造函数定义补充完整。classA{int a;public:A(int aa=0) {a=aa;)};Class B:public A{int b;A c;public://用aa初始化基数A,用aa+1初始化类对象成员cB(int aa): (b=aa+2)};
下面是类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.语句①、②、③和④都不正确
有如下类定义:class XX{int xdata;public:xx(int n=O):xdata(n){}};class YY:public XX{int ydata;public:YY(int m=0,int n=O):XX(m),ydata(n){}};YY类的对象包含的数据成员的个数是A.1B.2C.3D.4
有如下类声明: 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
请按下面注释的提示,将类B的构造函数定义补充完整。C1assA{int a;public:A(int aa=O){a=aa;}};class B:public A {int b;A c;public://用aa初始化基类A,用aa+1初始化类对象成员cB(int aa}:【 】{b=aa+2}};
有如下类定义: class Test { private int x; public int y; public void setX (int m) {x=m;} public int getX( ) {return x;} }现用Test t=new Text();生成一个对象t,则如下语句中,错误的是( )。A.t.x=10;B.t.y=10;C.t. setX(10);D.int m=t.getX( );
设有基类定义:class Cbase{ private:int a;protected. int b;public:int c;};派生类采用何种继承方式可以使成员变量b成为自己的私有成员( )。A.私有继承B.保护继承C.公有继承D.私有、保护、公有均可
下面是类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
设有如下程序: include using namespace std; class A { public:int i;display(){co 设有如下程序: #include <iostream> using namespace std; class A { public: int i; display() { cout<<"class A\n"; } }; class B { public: int i; display() { cout<<"class B\n"; } }; class C : public A, public B { int j; public: int i; show ( ) { j = i * i; display(); } }; int main() { C demo; demo.show(); return O; } 则主程序运行时将( )。A.因为变量i的重复定义而报错B.因为对象demo间接调用display()函数时产生二义性而报错C.因为类定义的语法错误而不能运行D.没有语法错误,能够正常输出结果
设有如下程序:include class A{public:int i;display(){ cout 设有如下程序:#include <iostream. h>class A{public:int i;display(){ cout<<"class A\n"; }};class B{public:int i;display(){ cout<<"class B\n"; }};class C: public: A, public: B{int j;public:int i;show(){ j=i*i; display(); }};void main(){C demo;demo. show();}则主程序运行时,将( )。A.因为变量i的重复定义而报错B.因为对象demo间接调用display函数时产生歧义性而报错C.因为类定义的语法错误而不能运行D.没有语法错误,能够正常输出结果
有如下程序:includeusing namespaee std;class Pair{int m;int n;public:Pair(int i, 有如下程序: #include<iostream> using namespaee std; class Pair{ int m; int n; public: Pair(int i,int j):m(i),n(j){ } boot operator>(pair P)const;//需在类体外给出定义 }; int main( ){ Pair pl(3,4),p2(4,3),p3(4,5); cout<<(pl>p2)<<(p2>p1)<<(p2>p3)<<(p3>p2); retum 0; } 运算符函数operator>的功能是比较两个Pair对象的大小,当左边对象大时,返回true,否则返回false。比较规则是首先比较两对象的m成员,m大者为大;当m相等时比较n,n大者为大。程序输出0101,下列对运算符重载函数的正确定义是A.bool Pair::operator>(Pair P)eonstB.bool Pair::operator>(Pair P) {if(m!=P.m)return m>p.In;return n>p.n;} {if(m!=P.m)return m>p.m;return n>p.n;}C.bool Pair::operator>(Pair P)eonstD.bool Pair::operator>(Pair P) {if(m>p.m)return true;return n>p.n;} {if(Ul>p.m)return true;return n>p.n;}
设有以下定义: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
下面各派生类的定义中,正确的是()。A.class A{};class B:A public{ 下面各派生类的定义中,正确的是( )。A.class A{<类的成员>};class B:A public{<类 B 中新增的成员>};B.class A{<类的成员>};private class B: A{<类B中新增的成员>};C.class A{<类的成员>};class B: protected A{<类B中新增的成员>};D.class A{<类的成员>};class B:A{<类B中新增的成员>};
设有类定义如下:class Base{public Base(int i){}}public class MyOver extends Base{public static void main(String arg[]){MyOver m = new MyOver(10);}MyOver(int i){super(i);}MyOver(String s, int i){this(i);//Here}}以下哪条语句可以安排在//Here处 ?A.MyOver m = new MyOver();B.super();C.this("Hello",10);D.Base b = new Base(10);
若有说明:int *p1,*p2,m=5,n; 以下都是正确的赋值语句的选项是()。A、p1=m; p2=p1;B、p1=m; p2=n; *p1=*p2;C、p1=m; p2=p1;D、p1=m; *p2=*p1;