问题 多选题

如图所示,教室的讲台旁边装有一盏白炽灯和白炽灯的控制开关,老师需要在讲台上安装一个插座,下面是几位同学的安装方案,其中不正确的是(  )

A.从白炽灯控制开关的两个接线柱上分别引出两根线将插座接入

B.从白炽灯灯头接线盒内的两个接线柱上分别引出两根线将插座接入

C.如图:剥开a、b分别引出两根线将插座接入

D.剥开a、c分别引出两根线将插座接入

答案

ABD

单项选择题
填空题

阅读下列函数说明和C++代码,将应填入 (n) 处的字句写在对应栏内。

[说明]

在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化该功能。

以下示例展示了Proxy(代理)模式,PrinterProxy类执行一些比较“轻”的方法,需要真正执行“重”的方法时才初始化Print类。图5-1显示了各个类间的关系。

[图5-1]

[C++代码]

class Printable{

public:

virtual void setPrinterName(string name)=0;

virtual string getprinterName()=0;

virtual void print(string name)=0;

};

class Printer:public Printable{

private:

string name;

public:

Printer(string name){

cout<<"正在产生Printer的对象实例"<<endl;

this->name=name;

}

void setPrinterName(string name){

this->name=name;

}

string getPrinterName(){

return name;

}

void print(string msg){

cout<<"======="<<name<<"==========="<<endl;

cout<<msg<<endl;

}

};

class printerproxy :public (1) {

private:

String name;

Printer *real;

public:

PrinterProxy(string name){

(2) =NULL;

this->name=name;

}

void setPrinterName(string name){

if( (3) )real->setPrinterName(name);

this->name=name;

}

string getPrinterName(){

return name;

}

void print(string msg){

(4)

real->print(msg);

}

void realize(){

if(real==NULL)real= (5)

}

};

(2)处填()。