题目内容 (请给出正确答案)
[主观题]

当类T只声明了私有实例构造函数时,则在T的程序文本外部,______(可以 or 不可以)从T派生出新的

类,____(可以 or 不可以)直接创建T的任何实例。

提问人:网友elite_stu 发布时间:2022-01-06
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“当类T只声明了私有实例构造函数时,则在T的程序文本外部,__…”相关的问题
第1题
当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出
新的类,不可以____(可以 or 不可以)直接创建T的任何实例。

点击查看答案
第2题
有关构造函数的说法,错误的是()

A.要重载构造函数,只需提供具有不同签名的多个构造函数声明

B.当实现类的方法时,应使用类的属性来访问类的私有数据,这样可以减少代码维护的工作量,降低出错的可能性

C.每个类都必须至少有一个构造函数

D.不管是否显式的声明了构造函数,编译器都会创建默认的构造函数

点击查看答案
第3题
在C#中,定义一个类时,声明了一个构造函数,则编译器不会再提供默认的构造函数。
点击查看答案
第4题
下列程序中声明了两个类AA和BB,其中函数“print”是类AA的成员函数,但是类BB的友元函数。 请在①、②和

下列程序中声明了两个类AA和BB,其中函数“print”是类AA的成员函数,但是类BB的友元函数。

请在①、②和⑧处各填入正确的内容,使程序能正常运行。

include<iostream.h>

【 】;

class AA{

int t;

public:

AA(int x){t=x;}

void print(BB &b) ;

};

class BB{

int s;

public:

BB(int y){s=y;}

friend void 【 】 print(BB &);

};

void 【 】

{ cout<<"AA:"<<t<<"BB: "<<w.s<<end1;}<

void main(){

AA m(6);

BB n(8);

m.print(n);

}

输出结果为:AA:6;BB:8

点击查看答案
第5题
关于类成员的访问修饰符,描述错误的是

A.在类前添加访问修饰符,声明了类内部成员对该类的访问权限。

B.private私有成员和私有字段成员只能被类内部的方法使用和修改。

C.在类声明时,访问修饰符是可选部分。

D.public修饰的方法,在类实例化调用时,可用“类名.方法名()”调用。

点击查看答案
第6题
阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】 通常情况下,用户可以对应

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

【说明】

通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。

下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。

include <iostream.h>

class Configure{

(1);

Configure(){}; //构造函数

public:

static Configure *Instance();

public:

int GetConfigureData(){return data;} //获取配置信息

int SetConfigureDate(int m_data)

{data=m_data; return data;} //设置配置信息

private:

static Configure* _instance;

int data; //配置信息

};

(2)=NULL;

Configure * Configure∷Instance()

{ if(_instance==NULL)

{ _instance=(3);

//加载配置文件并设置内存配置信息,此处省略

}

return (4);

}

void main()

{ Configure *t=NULL;

t=(5);

int d=t->GetConfigureData();

//获取配置信息后进行其它工作,此处省略

}

点击查看答案
第7题

【多选题】下面对于单例设计模式的描述,正确的是?(多选)

A.类中定义一个无参的构造方法,并且声明为私有

B.在内部创建一个该类的实例对象,使用静态变量引用该实例对象

C.使用private修饰静态变量,禁止外界直接访问

D.定义静态方法返回该类实例

点击查看答案
第8题
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。说明 通常情况下,用户可以对应

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

说明

通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中。应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样, Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。

C++代码

#include<iostream.h>

class Configure{

(1):

Configure(){} //构造函数

public:

static Configure*Instance();

public:

int GetConf~ureData(){return data;} //获取配置信息

int SetConfigureDate(int m_data)

{data=m_data; return data;} //设置配置信息

private:

static Configure*_instance;

int data; //配置信息

};

(2)=NULL;

Configure*Configure∷Instance(){

if(_instance=NULL){

_instance=(3);

//加载配置文件并设置内存配置信息,此处省略

}

return (4);

}

void main()(

Configure*t=NULL;

t=(5);

int d=t→GetConfigureData();

//获取配置信息后进行其他工作,此处省略

}

点击查看答案
第9题
下面关于单例模式特点的说法正确的是?

A.单例类确保自己只有一个实例。

B.单例类构造函数私有,不被外部实例化,也不被继承。

C.将类的状态信息隐藏在类的内部,不允许外部程序直接访问

D.单例类必须为其他对象提供唯一的实例。

点击查看答案
第10题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定
义并不完整。请按要求完成下列操作,将类CRect的定义补充完整。 (1)定义私有数据成员leftPoint、topPoint、rightPoint、bottomPoint,分别用于表示矩形左上角及右下角的点的坐标,它们都是double型的数据。请在注释1之后添加适当的语句。 (2)完成默认构造函数CRect的定义,指定默认实参为0,它们都是double型的数据。请在注释2之后添加适当的语句。 (3)定义函数体为空的析构函数。请在注释3之后添加适当的语句。 (4)在main函数中定义GReet类的实例rect2,并把re- ct1的值赋给rect2。请在注释4之后添加适当的语句。 注意:除在指定位置添加语句之外,不要改动程序中的其他内容。 试题程序: include<iostream.h> classCRect { private: //********1******** public: //********2******** //********3******** voidSetPoints(double,double,double,double); voidSetLeftPoint(doublem){leftPoint=m;} voidSetRightPoint(doublem){rightPoint=m;} voidSetTopPoint(doublem){topPoint=m;} voidSetBottomPoint(doublem){bottomPoint=m;} voidDisplay(); }; CReet::CRect(double1,doublet,doubler,doubleb) { leftPoint=1;topPoint=t; rightPoint=r;bottomPoint=b; } voidCRect::Setpoints(double1,doublet,doubler,doubleb) { leftPoint=1;topPoint=t; rightPoint=n;bottomPoint=b; } voidCRect::Display() { cout<<"left-toppointis("<<leftPoint<<","<<top- Point<<")"<<\n; cout<<"right-bottompointis("<<rightPoint<<"," <<bottomPoint<<")"<<\n; } voidmain() { CRectrect0; rect0.Display(); rect0.SetPoints(20,20.6,30,40); rect0.Display(); CRectrectl(0,0,150,150); rect1.SetTopPoint(10.5); rect1.SetLeftPoint(10.5); //********4******** rect2.Display();}

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信