计算机类

C# provides, by default a parameterless constructor. If I write a constructor that takes a string as a parameter, but want to keep the parameterless constructor. How many constructors should I write?(C#提供默认构造函数(不带参数),如果我写了一个带有一个string类型参数的构造函数,但是又想保留不带参数的

题目

C# provides, by default a parameterless constructor. If I write a constructor that takes a string as a parameter, but want to keep the parameterless constructor. How many constructors should I write?

(C#提供默认构造函数(不带参数),如果我写了一个带有一个string类型参数的构造函数,但是又想保留不带参数的构造函数,那么我需要写多少个构造函数)

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

6、在C#中,下列代码运行结果是()。 class A { static void Main() { int[] num=new int[]{1,3,5}; ArrayList arr = new ArrayList(); for (int i = 0; i < num.Length; i++) { arr.Insert(i,num[i]); } arr.Insert(1, 4); Console.Write(arr[2]); } }


3

第2题:

5、在C#中,下列代码的运行结果是()。 public class Test { static void Main(String[] args) { int[] num = new int[5]{1,3,2,0,0}; Array.Reverse(num); foreach(int i in num) { Console.Write(i); } } }


642

第3题:

补全代码:执行下面程序,程序输出结果为:0 1 2 3 class Program{ public void printArray(){ int[] ia = new int[4]; for (int i = 0; i < ia.Length; i++){ ia[i] = i; Console.Write("{0} ", ia[i]); } } static void Main(string[] args){ Program lin = new Program(); ________; } }

A.lin.printArray()

B.Console.Write("{0} {1} {2} {3}");

C.printArray()

D.Console.Write(0123);


10

第4题:

若输入: 11 12 13 14 15 0 则写出下面程序的输出结果。 class Program { static void Main(string[] args) { int no = 0, i ; do { Console.Write("请输入整数:"); i= int.Parse(Console.ReadLine()); no += i; } while (i != 0); Console.Write("和是{0}", no); } }


由分析可知: (1)被2除余数是0的数:250、408、210、124、300; (2)被3除余数是0的数:369、408、210、300、105; (3)被5除余数是0的数:250、210、300、105、95. 故答案为:250、408、210、124、300;369、408、210、300、105;250、210、300、105、95.

第5题:

在C#中,下列代码的运行结果是()。 public class Test { static void Main(String[] args) { int[] num = new int[5]{1,3,2,0,0}; Array.Reverse(num); foreach(int i in num) { Console.Write(i); } } }


D

第6题:

【填空题】在C#中,下列for循环的运行结果是()。 for(int i=0;i<5;i++) { Console.Write(i); }


12345

第7题:

查询“选修了课程号 C# ='C2'的学生的学生号”,正确的表示是

I.π s#(σ c#='c2'(SC)) II.σ c#='c'(π s#(S))

III .SELECT S# FROM SC WHERE C#='C2'

A)仅 I和II

B)仅 II和 III

C )仅I和 III

D)都正确


正确答案:C

第8题:

使用VC6打开考生文件夹下的工程test7_1,此工程包含一个源程序文件test7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Constructor1

Constructor1

Constructor1

Destructor

Constructor2

Destructor

x=0

x=5

Destructor

Destructor

源程序文件test1_1.cpp清单如下:

include<iostream.h>

class B

{

int X;

public:

B(){X=0;cout<<"Constructorl"<<endl;}

B(int i){x=i;cout<<"Constructor2"<<endl;}

~B(){cout<<"Destructor"<<endl;}

/**********found*********/

~B(int i){cout<<i<<"be Destructor"<<endl;}

void print(){cout<<"x="<<x<<endl;}

};

void main()

{

B *ptr;

ptr=new B[2];

/**********found*********/

ptr[0]=B(0);

ptr[1]=B(5);

/**********found********/

for(int i=0; i<2;)

ptr[i].print();

delete []ptr;

}


正确答案:(1)错误:~B(int i){cout"be Destructor"endl;} 正确:应将其删除 (2)错误:ptr[0]=B(0); 正确:ptr[0]=B(); (3)错误:for(int=0;i2;) 正确:for(int i=0;i2;i++)
(1)错误:~B(int i){cout"be Destructor"endl;} 正确:应将其删除 (2)错误:ptr[0]=B(0); 正确:ptr[0]=B(); (3)错误:for(int=0;i2;) 正确:for(int i=0;i2;i++) 解析:(1)主要考查考生对析构函数特性的掌握,析构函数不能带参数也不能重载,一个类中只能定义一个析构函数,因为析构函数在删除对象的时候被默认调用,如果含有多个析构函数则可能引起多次删除产生的意外错误;
(2)主要考查考生对构造函数与函数重载的掌握,由输出结果可知其应该调用不带参数的构造函数B();
(3)主要考查考生对for循环语句的使用,如果在for循环中不写第三个表达式就意味着该循环一直会进行下去,因为 i的值总是小于2(在for循环体中对i进行操作也可以)。

第9题:

使用VC6打开考生文件夹下的工程test6_1,此工程包含一个源程序文件test6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Constructor2

Constructor1

i=0

i=10

Destructor

源程序文件test6_1.cpp清单如下:

include<iostream.h>

class CSample

{

int i;

public;

CSample(){cout<<"Constructorl"<<endl;i=0;)

CSample(int val){cout<<"Constructor2"<<endl;i=val;}

~CSample()(cout<<"Destructor"<<endl;)

void disp();

};

/**********found********/

void disp()

{

cout<<"i=”<<i<<endl;

}

void main()

{

CSample *a,b(10);

/**********found*********/

a->disp();

/**********found*********/

b->disp();

}


正确答案:(1)错误:void disp() 正确:void CSample::disp() (2)错误:a->disp();    正确:a=new CSample;   a->disp(); (3)错误:b->disp(); 正确:b.disp();
(1)错误:void disp() 正确:void CSample::disp() (2)错误:a->disp();    正确:a=new CSample;   a->disp(); (3)错误:b->disp(); 正确:b.disp(); 解析:(1)主要考查考生对于类的成员函数定义格式的熟练掌握,对于类体外函数的实现,应该使用作用域符“::”,按照返回值类型 类名::函数名(参数列表)的形式进行说明;
(2)主要考查考生对于动态存储分配的掌握,根据前面的定义,a是一个指针类型的变量,指向一个对象,但是并没有被初始化,此时a中的数据无任何意义,应该使用动态存储分配new生成一个新的对象,并将返回的指针赋值给a;
(3)主要考查对象指针与对象在调用成员函数时格式的不同,b是一个对象变量,使用b调用成员函数应该用“.”运算符。