c++常识

构造函数和析构函数

构造函数是完成对象的初始化工作
析构函数是完成对象的清理工作
这两个函数也可以不写,但是编译器会帮我们实现,编译器提供一个空实现,

  • 构造函数:在对象被创建的时候自动调用,一般完成变量的额初始化工作
  • 析构函数:对象在被销毁之前,被调用,一般用来执行内存清理工作
  • 构造函数可以有参数,因此可以发生重载,只会调用一次
  • 析构函数不能有参数,因此不能发生重载, 只会调用一次

拷贝构造函数

拷贝构造函数形式

Persion::Persion(const Persion &p)

所谓的拷贝构造函数就是拷贝对象调用目标对象,拷贝对象获得参数对象的所有信息

无名对象的构造函数

Persion(10);

比如我们写了这么一句话,传入了一个参数10,如果说单纯的只有一个这个,对象名被隐藏了,会去调用他的有参构造函数,但是这句话执行完毕之后,因为他没有对象名,马上就会被销毁(马上会去执行析构函数),因为没名嘛

但是上边这段函数可以这么写:

Persion P1 = Persion(10);

如果这么写的话,无名对象就有名了,名字就是P1,相当于是P1去调用了一个有参构造函数,参数为10

不要用拷贝构造函数去初始化一个无名对象,为什么??

Persion(p3);
//正常的应该这么写,这叫调用拷贝构造函数;
Persion p4(p3);

看上边代码,这……是不是有点眼熟。。有点像

Persion p3;

这两句话没有区别,所以编译器会把你传入的拷贝参数当成你定义的变量,既然是拷贝构造,肯定会报P3重定义的小错误

隐式转换法:
直接上代码

Persion P3 = 10;
Persion P4 = P3;

这两行代码有点奇怪,一个类对象怎么能直接被整形变量赋值呢??
其实这两句代码没有错,执行相当于是这么写

Persion P3 = Persion(10);
Persion P4 = Persion(P3);

就是这样,相当于定义了无名对象,给无名对象起名叫P3,并且传入参数10,调用有参构造。
//下一行同理,参数传入P3,那肯定调用的就是拷贝构造函数了,然后给无名对象起了个名字叫P4。
上一行不对,这是对象的赋值会调用拷贝构造函数,不是无名对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《C程序设计谭浩强PDF》是一份非常经典的教材,在众多编程教材中占据重要的地位。本书系统地介绍了C语言的基本语法、程序结构和函数的使用方法,从而帮助读者全面地理解C语言编程的思想和方法。 本书的特点在于,它深入浅出地讲解了C语言的各个方面,不仅涉及到语法知识,还强调了程序设计的思想和方法,同时给出了大量的实例和练习题,帮助读者加深了对C语言的理解和掌握。 《C程序设计谭浩强PDF》整体分为13章,内容包括数据类型、程序流程控制、数组、指针、函数、结构体、文件操作等方面,在讲解完基础知识的同时,还涉及了一些高级的内容,如动态内存分配、位运算、多文件编程等,非常适合初学者和已有一定经验的程序员使用。 总的来说,《C程序设计谭浩强PDF》是一份很不错的C语言学习教材,它不仅适合初学者入门,而且对于有一定编程经验的程序员来说也是一份很好的参考教材。它准确、简明地讲解了C语言的基础知识和高级内容,并给出了大量实例和练习题,在学习中起到了很好的辅助作用。 ### 回答2: 《C程序设计》是由谭浩强编写的一本经典的计算机教材,主要介绍C语言的基本概念、语法特点、程序设计技巧以及实际应用。这本教材的优点在于循序渐进、深入浅出、通俗易懂,非常适合初学者使用。除了基础内容,书中还介绍了一些高级主题,如内存分配、指针运算等,对于C语言的深入实践有很大帮助。 书中案例丰富,代码清晰,通过代码实践,可以更好地理解程序设计的过程和方法。此外,本书还提供了许多习题,可以帮助读者巩固所学知识,提高编程能力。 总的来说,这本书是一本很好的C语言入门教材,具有深入浅出、实用性强等特点,非常适合广大初学者使用,同时也是一本非常经典的计算机教材。 ### 回答3: 《C程序设计》是一本由谭浩强编写的经典教材,对于学习C语言的人来说,是一本必不可少的指导书。书中详细介绍了C语言的基本语法、流程控制、数组、函数等内容,逐步引导读者进入编程的世界。 这本书具有思路清晰、语言简明易懂、内容全面的特点。对于初学者来说,可以通过阅读本书逐步熟悉C语言的用法,并逐步掌握其编程思想,逐渐提升自己的编程能力。对于有一定编程经验的人来说,也可以通过阅读本书来深入理解C语言的特性和内在机制,提高编程水平。 不仅如此,本书还提供了大量的实例和习题,可以帮助读者加深对于各种知识点的理解,并锻炼自己的编程技能。同时,本书还对常见的编程错误和常识进行了归纳和总结,对于提升程序健壮性和正确性也有一定的帮助。 总而言之,谭浩强编写的《C程序设计》是一本不可多得的经典教材,它对于学习C语言以及提高编程水平都有着极大的帮助。通过阅读本书,人们可以在编程的道路上不断前进,成为一名技术精湛的程序员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值