首页 > 试题广场 >

下列哪一个是析构函数的特征?

[单选题]
下列哪一个是析构函数的特征()
  • 析构函数定义只能在类体内
  • 一个类中只能定义一个析构函数
  • 析构函数名与类名不同
  • 析构函数可以有一个或多个参数
推荐

答案:B

A,析构函数可以在类内声明,类外定义

B,析构函数是用来释放对象的,只能有一个,不能重载

C,析构函数与类同名,前面加 ~ ,比如类Demo 的析构函数为 ~Demo()

D,析构函数无参数。当我们 delete 对象的时候,自动调用,不需要传参数

编辑于 2015-01-26 18:13:34 回复(0)
炫头像
1. 与构造函数相对应
2. 与构造函数的作用相反
3. 析构函数的形式~类名( ){…}特点:
4. 固定的函数名称~类名( )
5. 没有返回类型
6. 没有参数
7. 不可以重载
8. 一般由系统自动的调用

编辑于 2016-04-12 13:38:58 回复(0)
析构函数可以在类内声明,类外定义
析构函数是用来释放对象的,只能有一个,不能重载
构造函数与类同名,前面加~
析构函数无参数
发表于 2022-03-13 14:07:07 回复(0)
B、C都对!B选项前面已经有人说了,我说一下C选项,那个~也是算在析构函数的名里的,我为什么这么说呢,如果不算在析构函数的名字里面,那么就与无参构造函数重定义了兄弟们,个人觉得题目有问题的,有不同意见请带上理由回复。
编辑于 2021-11-14 17:04:42 回复(0)
B
析构函数的特点如下: 
   (1)析构函数是一个特殊的成员函数,它的名字同类名,并在前面加“~”字符,用来与构造函数加以区别。析构函数不指定数据类型,并且也没有参数, 函数体可写在类体内,也可写在类体外 。 
    (2)一个类中只能定义一个析构函数,析构函数不能重载。 
    (3)析构函数可以被调用,也可以由系统调用。在下面两种情况下,析构函数会被自动调用。一是如果一个对象被定义在一个函数体内,则当这个函数结束时,该对象的析构函数被自动调用;二是当一个对象是使用new运算符被动创建的,在使用delete运算符释放它时,delete将会自动调用析构函数。
发表于 2015-01-12 17:04:48 回复(0)
卧石砂杯,看成构造函数了
发表于 2023-10-24 19:59:34 回复(0)
B .
A.析构可以在类外定义
C.要与类名相同, 前面加~
D.析构函数不需要参数
发表于 2015-05-01 14:48:36 回复(0)

A 明显不对
析构函数和构造函数名称都与类名相同且无参数,无返回类型
CD也是不对的
发表于 2015-01-21 13:51:27 回复(0)