请判断下列代码在程序关闭时,正确的对象释放顺序
TMybutton=class(Tbutton)
Protected
Destructor Destroy;override;
End;
…………
destructor TMyButton.Destroy;
Begin
inherited;
Application.MessageBox(PChar(Name),’Destroy’,mb_ok);
end;
var AButton,BButton:TMyButton;
procedure TForm1.FormCreate(Sender:TObject);
begin
Abutton:=TmyButton.Create(Nil);
With AButton do
begin
Parent:=form1;
Top:=100;
Left:=100;
Visible:=True;
Name:=’ABtn’;
end;
BButton:=TMyButton.Create(Application);
With BButton do
begin
Parent:=Form1;
Top:=100;
Left:=200;
Visible:=True;
Name:=’BBtn’;
end;
procedure TForm1.FormDestroy(Sender:TObject);
begin
…………
end;
A.BButton.Destroy->Form1.Destroy->AButton.Destroy
B.上述都不对,应该手工调用 Abutton.free,否则会造成AButton没有释放的
错误
C.Form1.Destroy->AButton.Destroy->BButton.Destroy
D.AButton.Destroy->Form1.Destroy->BButton.Destroy
第1题:
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
下面代码实现class C对class A和B的protected成员和public成员的调用。仔细阅读[代码5-1]、[代码5-2],在(n)处写出正确的运行结果。
[代码5-1]
include <iostream.h>
class A {
private:
int a1;
protected:
int a2;
public:
A ( int v1,int v2,int v3 ): a1 ( v1 ) ,a2 ( v2 ) ,a3 ( v3 )
{}
int a3
};
class B : pubiic A{
private:
int b1;
protected:
int b2;
public:
B ( int v1,int v2,int v3,int v4,int v5,int v6 )
: A(v1,v2,v3),b1 (v4),b2(v5),b3 (v6) {}
int b3;
};
class C : public B{
private:
int c1;
protected:
int c2;
public:
int c3;
C (int v1,int v2,int v3,int v4,int v5,int v6,int v7,int v8,int v9 )
: B ( v1,v2,v3,v4,v5,v6 ) ,c1 ( v7 ),c2 ( v8 ) ,c3 v9
void disp ( )
{
cout << "a2 in class C =" << a2 << endl;
cout << "a3 in class C =" << a3 << eudl;
cout << "b2 in class C =" << b2 << endl;
tout << "b3 in class C =" << b3 << endl;
}
};
[代码5-2]
voidmain()
{
Cdemo(10,20,30,40,50,60,70,80,90);
cout<<"对象demo.a3="<<demo.a3< cout<<"对象demo.b3="<<demo.b3< cout<<"对象demo.c3="<<demo.c3< demo.disp( );
}
[运行结果]
对象demo.a3=(1)
对象demo.b3=(2)
对象demo.c3=(3)
a2 in class C=(4)
a3 in class C=(5)
b2 in class C=(6)
b2 in class C=(7)
第2题:
下面程序的运行结果是( )。 #include<iostream.h> class base{ protected: int a; public: base(){cout<<“0”;} }; Class basel:Virtual base{ public: basel(){cout<<“1”;} }; Class base2:virtual base{ public: base2(){cout<<“2”;)
A.0123
B.3120
C.0312
D.3012
第3题:
有如下程序:
#include<iostream>
using namespace std;
class Music{
public:
void setTitle(char*str){strcpy(title,str);}
protected:
char type[10];
private:
char title[20];
};
class Jazz:public Music{
public:
void set(char*str){
strcpy(type,”Jazz”); //①
strcpy(title,str); //②
}
};
下列叙述中正确的是
A.程序编译正确
B.程序编译时语句①出错
C.程序编译时语句②出错
D.程序编译时语句①和②都出错
第4题:
给出下列的代码,则下列选项中哪个是类A合理的内部类? class A { protected int i; A(int i) { this.i=i; } }
A.class B { }
B.class B extends A { }
C.class B extends A { B( ){System.out.println("="+i);} }
D.class A { }
第5题:
有下列的程序: #include<cstring.h> #include<iostream.h> using namespace std; class MyString { public: MyString(const char*s); ~MyString()<delete[]data;} protected: unsigned len; char*data; };
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制(深拷贝)的复制构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成默认的复制构造函数
第6题:
下列关于命令DO FORM. XX NAME YY LINKED的陈述中,正确的是( )。
A.产生表单对象引用变量XX,在释放变量xx时自动关闭袭单
B.产生表单对象引用变量XX,在释放变量XX时并不关闭表单
C.产生表单对象引用变量YY,在释放变量YY时自动关闭表单
D.产生表单对象引用变量YY,在释放变量YY时并不美闭表单
第7题:
给出—卜列的代码,则下列选项中( )可以表示为类A合理的内部类。 class A{ protected int i; A (int i) { this i=i; }}
A.class B{ }
B.class B extends A{ }
C.class B extends A{ B ( ){System.out.println("i="+i);} }
D.class A{ }
第8题:
请找出下列程序中错误之处 ______。
#include<iostream.h>
class A{
private:
int x1;
protected:
int x2;
public:
int x3;
};
class B:public A{
private:
int y1;
protected:
int y2;
public:
int y3;
void disp(){cout<<x1<<y1<<end1:} //A
void set(int i) {x2=i;} //B
};
void main() {
B bb;
bb.x3=10; //C
bb.y3=10; //D
}
A.A
B.B
C.C
D.D
第9题:
给出下列java源代码: //Point x Public class Interesting{} 在源代码//point x处添加()能符合java语法
第10题:
下列哪个类声明是正确的()。
第11题:
现有: class HorseRadish { //insert code here protected HorseRadish (int x) { System.out.println ("bok choy"); } } class Wasabi extends HorseRadish { public static void main (String [] args){ Wasabi w- new Wasabi(); } } 分别插入到第2行,哪两项允许代码编译并产生”bok choy”输出结果()
第12题:
创建一个Windows控制库对象
创建一个类库对象
创建一个Windows服务对象
使用下面一段代码去定义BusinessRules protected class TestKBusinessRules
使用下面一段代码去定义BusinessRules publicnew class TestKBusinessRules
使用下面一段代码去定义BusinessRules publicsealed class TestKBusinessRules
使用下面一段代码去定义BusinessRules.publicabstract class TestKBusinessRules
第13题:
下面关于命令DOFORMXXNAMEYYLINKED的陈述中,正确的是()
A、产生表单对象引用变量XX,在释放变量XX时自动关闭表单
B、产生表单对象引用变量XX,在释放变量XX时并不关闭表单
C、产生表单对象引用变量YY,在释放变量YY时自动关闭表单
D、产生表单对象引用变量YY,在释放变量YY时并不关闭表单
第14题:
下列程序在构造函数和析构函数中申请和释放类的数据成员int * a,申请时使用形参b初始化a,请填空。
class A
{
public:
A(int b) ;
~A( ) ;
private:
int * a;
};
A: :A(int b)
{
______;
}
A: :~A( )
{
______;
}
第15题:
下面程序的运行结果是 #include<iostream.h> class base{ protected: int a; public: base( ){cout<<"0";} }; class basel:virtual base { public: base1( ){cout<<"1";} }; class base2:virtual base{ public:
A.123
B.3120
C.312
D.3012
第16题:
有如下程序: #include <iostream> using namespace std; Class x { protected: int a; public: x() { a=1; } }; class x1 : virtual public x { public: x1() { a+=1; cout<<
A.1
B.123
C.242
D.244
第17题:
下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该程序。
class Myclas{
int *x;
public:
MyClas(int n);
~MyClas();
};
MyClas::MyClas(intn){
【 】;
}
MyClas::~MyClas(){
【 】;
}
第18题:
下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。
class Myclass {
public:
Myclass(int num);
~ Myclass( );
public:
int *p;
};
Myclass: :Myclass( int hum) {
【 】
Myclass:: ~ Myelass( ) {
【 】;
}。
第19题:
有下列程序: #include<iostream> using namespace std; class TestClass{ protected: TestClass(){cout<<'x';} TestClass(char c){cout<<c;} }; class TestClassl:public TestClass{ public: TestClassl(char c){cout<<c;}
A.y
B.yx
C.xy
D.yy
第20题:
第21题:
下列哪个类的声明是正确的()
第22题:
下面关于命令DO FORM XX NAME YY LINKED的陈述中,哪个是正确的()
第23题:
产生表单对象引用变量XX,在释放变量XX时自动关闭表单
产生表单对象引用变量XX,在释放变量XX时并不关闭表单
产生表单对象引用变量YY,在释放变量YY时自动关闭表单
产生表单对象引用变量YY,在释放变量YY时并不关闭表单