首页 > 试题广场 >

下列关于C++类的说法中错误的有哪些?

[不定项选择题]
下列关于C++类的说法中错误的有哪些?
  • 一个空类默认会生成构造函数,拷贝构造函数,赋值操作符,析构函数
  • 一个类可以有多个析构函数
  • 类中析构函数可以为virtual,可以被重载
  • 类的构造函数如果都不是public访问属性,则类的实例无法创建
C选项有毒,玩文字游戏,前半句是对的,后半句跟前半句没任何关系,virtual对应的是重写,这里说重载
发表于 2018-10-12 15:29:07 回复(1)
类的构造函数一般是共有的(public),但有时也把构造函数声明为私有的(private),其作用是限制其创建该类对象的范围,这时,只能在本类和友元中创建该类对象。
发表于 2018-10-05 00:50:01 回复(1)
D选项,对于单例模式中的类,虽然将构造函数私有化了,但是可以通过静态成员指针,使用new创建对象。实际上虽然构造函数私有了,但是类的内部还是可以访问,类内没有权限之分。所以D选项错误。
发表于 2023-05-11 13:07:44 回复(0)
a选项不严谨 在深入探索c++对象模型说了只有四种情况下 才会生成默认构造函数 。
发表于 2018-09-10 16:03:27 回复(0)
c选项中析构函数无参数无类型,不可以被重载
发表于 2022-10-27 22:48:36 回复(0)

一个空类在以下情况下会生成默认构造函数

  • 含有类对象数据成员,该类对象类型有默认构造函数,生成的默认构造函数调用类成员的默认构造函数对其进行初始化
  • 当前类是派生类,其基类具有默认构造函数
  • 具有虚函数,默认构造函数用于配置虚表指针 vptr
  • 带有虚基类的类
发表于 2022-04-23 17:35:29 回复(0)
空类根本没有任何函数,反汇编就知道。全是死教条
发表于 2021-03-12 03:06:01 回复(1)
单例模式里,类对象可以不通过构造函数创建,可以由public静态成员函数里返回类对象
先判断类对象是否被创建,未创建类对象->创建类对象->返回类对象
已创建类对象->返回类对象
所以不需要通过构造函数来创建类的实例
发表于 2023-06-14 10:08:50 回复(0)
类中析构函数可以为virtual. 可以被重载,是错误的。应该是可以被重写
发表于 2022-06-29 08:38:18 回复(0)
默认生成的复制操作符是什么意思呀?
发表于 2022-03-08 17:51:43 回复(0)
D中,若类的构造函数不是public访问属性,它的友元和派生类中,可以生成对应的实例吗?
发表于 2018-09-17 11:29:46 回复(2)