C++语言程序设计

单选题下列关于构造函数的描述中,错误的是(  )。A 构造函数名与类名相同B 构造函数可以有返回值C 构造函数可以重载D 每个类都有构造函数

题目
单选题
下列关于构造函数的描述中,错误的是(  )。
A

构造函数名与类名相同

B

构造函数可以有返回值

C

构造函数可以重载

D

每个类都有构造函数

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

第1题:

下列关于构造函数的描述中,错误的是( )。

A.构造函数可以设置默认参数

B.构造函数在说明类变量时自动执行

C.构造函数可以对静态数据成员进行初始化

D.构造函数可以重载


正确答案:C

第2题:

下列关于虚函数的描述,错误的是( )。

A.构造函数可以是虚函数

B.析构函数可以是虚函数

C.虚函数必须通过引用或基类的指针实现

D.虚函数的函数名必须与基类中对应的虚函数的函数名完全相同


正确答案:A
解析:构造函数不能是虚函数。

第3题:

下列关于构造函数的描述中,正确的是______。

A、构造函数可以设置默认参数

B、构造函数在定义类对象时自动执行

C、构造函数可以是内联函数

D、构造函数不可以重载


参考答案:ABC

第4题:

下列关于构造函数的描述中,错误的是( )。

A.构造函数可以设置默认参数

B.构造函数在定义类对象时自动执行

C.构造函数可以是内联函数

D.构造函数不可以重载


正确答案:D
解析:构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。C++在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。构造函数可以是内联函数,也可以重载。

第5题:

下列关于重载函数的描述中,( )是错误的。

A.重载函数中不允许使用默认参数

B.重载函数中编译是根据参数表进行选择

C.不要使用重载函数来描述毫不相干的函数

D.构造函数重载将会给初始化带来多种方式


正确答案:A
解析: 在选项A)中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫不相干的函数;重载函数中编译是根据参数表进行选择,包括参数的个数和类型。

第6题:

下列关于函数的描述中,错误的是( )。 A.函数可以没有返回值B.函数可以没有参数

下列关于函数的描述中,错误的是( )。

A.函数可以没有返回值

B.函数可以没有参数

C.函数可以是一个类的成员

D.函数不能被定义为模板


正确答案:D
D。【解析】函数可以被定义为模板;“template<模板形参表><返回值类型><函数名>(模板函数形参表){//函数定义体},”其中<摸板形参表>是由一个或多个<模板形参>组成,每个<模板形参>可以有这几种形式:typename.(参数名>,class<(参数名>,<类型修饰><参数名>;前两种是等价的typename和Class可以互换,它们的参数为虚拟类型参数;最后一种参数是常规参数。

第7题:

下列有关拷贝构造函数的描述中错误的是( )。

A.拷贝构造函数是一种构造函数

B.拷贝构造函数与一般的构造函数一样,可以设置多个形参

C.每一个类中都必须有一个拷贝构造函数

D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象


正确答案:B
B。【解析】拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,如果类中未声明,编译器会自动生成一个公有的拷贝构造函数。

第8题:

下列关于构造函数和析构函数的描述,错误的是( )。

A.析构函数中调用虚函数采用静态联编

B.对虚析构函数的调用可以采用动态联编

C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数

D.构造函数可以声明为虚函数


正确答案:D
解析: 构造函数的主要作用是对数据成员初始化。构造函数不能声明为虚函数,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。

第9题:

不是构造函数的特征。(58)是析构函数的特征。关于成员函数特征的下述描述中,(59)是错误的。

A.构造函数的函数名与类名相同

B.构造函数可以重载

C.构造函数可以设置默认参数

D.构造函数必须指定类型说明


正确答案:D
解析:在c++中,有两种特殊的成员函数,即构造函数和析构函数。当对象被创建时,构造函数自动被调用。构造函数有一些独特的地方:函数的名字与类名相同,它也没有返回类型和返回值。当对象销毁时,会自动调用析构函数进行一些清理工作。与构造函数类似的是:析构函数也与类同名,但在名字前有一个“~”符号,析构函数也没有返回类型和返回值。但析构函数不带参数,不能重载,所以析构函数只有一个。为了实现对象的常量化,C++引入了const函数的概念。const函数不改变对象的数据成员,也不能调用非const函数。常量对象只能调用const函数;但构造函数和析构函数对这个规则例外,它们从不定义为常量成员,但可被常量对象调用(被自动调用)。在C++中,为了实现类的所有对象对一个或多个类成员的共享,可以定义静态数据成员和静态成员函数。一个类的静态数据成员仅创建和初始化一次,且在程序开始执行的时候创建,然后被该类的所有对象共享;而非静态的数据成员则随着对象的创建而多次创建和初始化。与静态数据成员类似,静态成员函数也是属于类的。静态成员函数仅能访问静态的数据成员,不能访问非静态的数据成员,也不能访问非静态的成员函数,这是由于静态的成员函数没有this指针。

第10题:

下列描述中哪个是正确的?

A.派生类构造函数中没有调用父类构造函数则没有对父类初始化

B.子类构造函数不能是内联函数

C.派生类构造函数中可以对父类数据成员赋值

D.构造函数的返回值为void类型


正确答案:C
解析:C++语言中基类的构造函数是可以被派生类继承并赋值的。注意:构造函数和析构函数均无返回值。

更多相关问题