题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-02-23 18:03:43

[填空题]已知p是一个指向类A公有数据成员的指针,a是类A的一个对象,如果要给p所指向的成员赋值为5,语句应写为 【11】

更多"已知p是一个指向类A公有数据成员的指针,a是类A的一个对象,如果要给p"的相关试题:

[单项选择]已知一个类Sample,( )是定义指向类Sample成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和int a。
A. Sample*p
B. Int Samale::*pc=&Sample::a
C. Void(Sample::*Pa)()
D. Sample*P[10]
[单项选择]已知p是一个指向类Sample数据成员m的指针,s是类Sample的一个对象。如果要给m赋值为5,( )是正确的。
A. s.p=5
B. s->p=5
C. s.*p=5
D. *s.p=5
[填空题]已知f1(int)是类A的公有成员函数,并将指针p定义为可以指向函数f1的指针类型,则可以实现让p是指向成员函数f1( )的指针的语句为 【7】
[单项选择]若AA为一个类,a为该类的私有整型数据成员,getA( )为该类的一个非静态公有成员函数,功能是返回a的值。如果x为该类的一个对象,要在类外访问x对象中a的值,正确的访问格式为
A. A.AgetA()
[单项选择]

已知3 个类O、P 和Q,类O 中定义了一个私有方法F1 和一个公有方法F2;类P 中定义了一个公有方法F3,类P 为类O 的派生类;类Q 为类P 的派生类,它们的继承方式如下所示: class P : public O {…}; class Q : private P {…}; 在关于类P 的描述中正确的是 (43) ;在关于类Q 的描述中正确的是 (44) 。

(43)处填()。
A. 类P 的对象可以访问F1,但不能访问F2
B. 类P 的对象可以访问F2,但不能访问F1
C. 类P 的对象既可以访问F1,也可以访问F2
D. 类P 的对象既不能访问F1,也不能访问F2
[单项选择]

已知3个类R、S和T,类R中定义了一个私有方法F1和一个公有方法F2;类S中定义了一个公有方法F3;类S为类R的派生类,类T为类S的派生类。它们的继承方式如下所示:
class S: public R …;
class T: private S …;
在关于类S的描述中正确的是 (45) ;在关于类T的描述中正确的是 (46)

(45)处填()。
A. 类S的对象可以访问F1,但不能访问F2
B. 类S的对象可以访问F2,但不能访问F1
C. 类S的对象既可以访问F1,也可以访问F2
D. 类S的对象既不能访问F1,也不能访问F2
[单项选择]在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,该指针域用于存放一个指针,此指针指向该结点的( )
A. 直接前驱
B. 直接后继
C. 开始结点
D. 终端结点
[单项选择]

已知3个类O、P和Q,类O中定义了一个保护方法F1和公有方法F2;类P中定义了一个公有方法F3,类P为类O的派生类;类O为类P的派生类,它们的继承方式如下,在关于类P的描述中正确的是 (1) ;在关于类Q的描述中正确的是 (2)
class P:private O(…)
class Q:protected P(…)

1()
A. 类P的对象可以访问F1,但不能访问F2
B. 类P的对象可以访问F2,但不能访问F1
C. 类P的对象既可以访问F1,也可以访问F2
D. 类P的对象既不能访问F1,也不能访问F2
[简答题]【说明】 设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度 freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。 【函数】 void Locate( int &x) { <结点类型说明> * p =first -> next; while(p!=frist&& (1) )P=P->next; if(p! =first) /*链表中存在x*/ { (2) ; <结点类型说明> * current = P; /*从链表中摘下这个结点*/ Current -> prior -> next = current -> next; Current -> next -> prior = current -> prior; P = current -> prior; /*寻找重新插入的位置*/ While(p! =first && (3) )p=p->prior; Current-> next = (4) ; /*插入在P之后* Current -> prior = P; P -> next -> prior = current; P->next= (5) ; } else printf("Sorry. Not find! /n"); /*没找到*/ }
[简答题]【说明】
设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度 freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。
【函数】
void Locate( int &x)
<结点类型说明>
* p =first -> next;
while(p!=frist&& (1) )P=P->next;
if(p! =first) /*链表中存在x*/
(2) ;
<结点类型说明>
* current = P; /*从链表中摘下这个结点*/
Current -> prior -> next = current -> next;
Current -> next -> prior = current -> prior;
P = current -> prior; /*寻找重新插入的位置*/
While(p! =first && (3) )p=p->prior;
Current-> next = (4) ; /*插入在P之后*
Current -> prior = P;
P -> next -> prior = current;
P->next= (5) ;

else printf("Sorry. Not find! /n"); /*没找到*/

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码