已知如下类说明: public class Test { private float f = 1.0f; int m = 12; static int n=1; public static void main(String arg[]) { Test t = new Test(); // 程序代码… } } 如下哪个使用是正确的?()
A.t.f
B.this.n
C.Test.m
D.Test.n
![](https://lstatic.shangxueba.com/sxbcn/h5/images/tips_org.png)
A.t.f
B.this.n
C.Test.m
D.Test.n
第1题
有如下程序:
include<iostream>
usingnamespacestd;
classC1{
public:
~C1(){cout<<1;)
};
classC2:publicC1{
public:
~C2(){cout<<2;)
};
intmain(){
C2cb2;
C1*cb1:
return0;
}
运行时的输出结果是()。
A.121
B.21
C.211
D.12
第2题
有以下类定义 clas sMyClass { public: My Class() { cout<<1;} }; 则执行语句MyClassa,b[2],*p[2];后,程序的输出结果是
A.11
B.111
C.1111
D.11111
第3题
应在下列程序画线处填入的正确语句是 ()。 #include <iostream> using namespace std; clas Base { public: void fun() { cout<<"Base::fun"<<end1; } }; class Derived : public Base { void fun() { ________________//显示调用基类的函数 fun() cout<<"Derived::fun"<<end1; } };
A.fun();
B.Base.fun();
C.Base::fun();
D.Base->fun();
第4题
阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在下面的Java程序代码中,类SalesTicket能够完成打印票据正文的功能,类 HeadDecorator与FootDecorator分别能够完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
-------------------
这是票据的脚注!
这是票据的台头!
这是票据的脚注!
【tava程序代码】
public class SalesTicket {
public void printTicket() {
System. out. println ("这是票据正文 ! ");
}
}
public class Decorator extends SalesTicket{
SalesTicket ticket;
public Decorator(SalesTicket t) {
ticket = t;
}
public void printTicket(){
if(ticket != null)
ticket.printTicket();
}
public class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t) {
(1)
}
public void printTicket() {
System. out.println("这是票据的台头! ");
super.printTicket();
}
}
public class FootDecorator extends Decorator{
public FootDecorator(SalesTicket t) {
(2);
}
public void printTicket() {
super, printTicket ();
System. out.println ("这是票据的脚注!");
}
}
public class Main {
public static void main(String[] args) {
T = new HeadDecorator((3));
T=(4);
System.out.println("------------------------------------");
T = new FootDecorator((5));
T.printTicket ();
}
}
第5题
试题八(共15分)
阅读以下说明和Java程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。
[说明]
在下面的 Java 程序代码中,类SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与FootDecorator 分别完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据正文!这是票据的脚注!------------------------这是票据的台头!
这是票据的脚注!
[Java程序代码]
public class SalesTicket {
public void printTicket() {
System.out.println("这是票据正文!");
}
}
public class Decorator extends SalesTicket{
SalesTicket ticket;
}
}
public class FootDecorator extends Decorator{
public FootDecorator(SalesTicket t) {
(2) ;
}
public void printTicket() {
super.printTicket();
System.out.println("这是票据的脚注!");
}
}
public class Main {
public static void main(String[] args) {
T = new HeadDecorator((3) );
T. (4) ;
System.out.println("------------------------");
T = new FootDecorator((5) );
T.printTicket();
}
}
public Decorator(SalesTicket t){
ticket = t;
}
public void printTicket(){
if(ticket != null)
ticket.printTicket();
}
}
public class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t) {
(1) ;
}
public void printTicket() {
System.out.println("这是票据的台头!");
super.printTicket();
第6题
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
---------------
这是票据的台头!
这是票据的脚注!
【C++程序代码】
#include
using namespace std;
class SalesTicket {
public:
(1) printTicket() { cout << " 是票据正文!" << endl;}
class Decorator : public SalesTicket{
SalesTicket *ticket;
public:
Decorator(SalesTicket *t){ ticket = t; }
void printTicket(){
if(ticket != NULL)
ticket->printTicket();
}
};
class HeadDecorator : public Decorator{
public:
HeadDecorator(SalesTicket *t): (2) { }
void printTicket() {
sour << "这是票据的台头!" << endl;
Decorator::printTicket();
}
};
class FootDecorator :public Decorator{
public:
FootDecorator(SalesTicket *t): (3)
void printTicket() {
Decorator::printTicket();
cout << "这是票据的脚注!" << endl;
}
};
void main(void) {
SalesTicket t;
FootDecorator f(&t);
HeadDecorator h((4) );
h.printTicket();
cout << "-------------------------"<< endl;
FootDecorator a(NULL);
HeadDecorator b((5) );
b.printTicket();
}
第7题
已知类MyClass的定义如下:
classMyClass{
public:
voidfunctionl(MyClass&c){out<<c.data;}
statievoidfunction2(MyClas&c){cout<<c.data;}
voidfunction3(){out<<data;}
statiCvoidfunction4(){COut<<data;}
private:
intdata;
}:
其中有编译错误的函数是()。
A.function1
B.function2
C.function3
D.function4
第8题
读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
已知某类库开发商捉供了一套类库,类库中定义了Application类和Document类,它们之间的关系如下图所示,其中,Application类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。
当开发一个具体的应用程序时,开发者需要分别创建自己的Application和Document子类,例如上图中的类MyApplication和类MyDocument,并分别实现Application和 Document类中的某些方法。
已知Application类中的openDocument方法采用了模板方法(Template Method)设计模式,该方法定义了打开文档的每一个主要步骤,如下所示:
1.首先检查文档是否能够被打开,若不能打开,则给出出错信息并返回;
2.创建文档对象;
3.通过文档对象打开文档;
4.通过文档对象读取文档信息;
5.将文档对象加入到Application的文档对象集合中。
【Java代码】
abstract class Document{
public void save(){/*存储文档数据,此处代码省略*/ )
public void open(String docName){ /*打开文档,此处代码省略*/)
public void close(){ /*关闭文档,此处代码省略*/)
public abstract void read(String docName);
};
abstract class Appplication{
private Vector<(1)> docs; /*文档对象集合*/
public boolean canOpenDocument(String docName){
/*判断是否可以打开指定文档,返回真值时表示可以打开,
返回假值表示不可打开,此处代码省略*/
}
public void addDocument(Document aDocument){
/*将文档对象添加到文档对象集合中*/
docs.add((2));
}
public abstract Document doCreateDocument();/*创建一个文档对象*/
public void openDocument(String docName){/*打开文档*/
if ((3)) {
System.out.println(“文档无法打开!”);
return;
}
(4) adoc=(5);
(6);
(7);
(8);
}
};
第9题
已知String类定义如下:
class String
{
public:
String(const char *str = NULL); // 通用构造函数
String(const String &another); // 拷贝构造函数
~ String(); // 析构函数
String & perater =(const String &rhs); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
尝试写出类的成员函数实现。
第10题
已知类MyClass的定义如下: classMyClass{ public: voidfunctionl(MyClass&c){out<<c.data;} statievoidfunction2(MyClas&c){cout<<c.data;} voidfunction3(){out<<data;} statiCvoidfunction4(){COut<<data;} private: intdata; }: 其中有编译错误的函数是()。
A.function1
B.function2
C.function3
D.function4
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!