C++ 笔试题易错点总结(类和对象)

本文总结了C++中构造函数和析构函数的关键知识点,包括构造函数的意义、特点、调用时机,以及析构函数的自动调用、默认行为。此外,还探讨了对象赋值、析构顺序、内联函数、友元函数和运算符重载等相关概念,帮助读者深入理解C++类和对象的生命周期。
摘要由CSDN通过智能技术生成

1、构造函数的意义:(1)由于类的部分成员是私有的,若程序需要对其进行初始化,只有通过成员函数实现。(2)在声明对象时自动调用构造函数。

2、构造函数没有返回值,但不被声明为void,即没有声明类型。

3、每次创建类对象(甚至使用 new 动态分配内存时,C++都会使用构造函数)

4、无法使用对象来调用构造函数,在构造函数构造出对象之前,对象是不存在的。

5、用户没有自己定义构造函数,在声明对象时也会有默认的构造函数被调用。一旦声明构造函数后,编译器不再提供默认构造函数,需要自行提供,否则将编译出错。

6、构造函数可以重载,即可以同时拥有多个构造函数,根据调用匹配相应构造函数。

7、析构函数没有参数。

8、调用析构函数的时机由编译器决定,通常不在代码中显式调用。(1)静态型对象在程序结束时自动调用。(2)动态对象在代码块执行完时调用。(3)new创建对象会驻留在栈或自由存储区,使用delete释放内存时调用析构函数。

9、编译器也会提供默认析构函数(若程序员没有自己定义)。

10、如果对象持续到main函数结束,虽然依然会在main函数结束后调用析构函数,但在窗口环境中无法看到析构函数的输出。

11、两个对象之间赋值,不会调用构造函数。

12、当对象已经存在,再次调用构造函数重新赋值时,编译器是通过让构造函数创建一个新的、临时对象,然后将其内容复制非目标对象,随后调用析构函数删除临

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值