候捷 面向对象高级开发1 头文件 类声明 构造函数

教程地址:https://www.bilibili.com/video/BV1K4411974P?p=3

1.C++编程简介

  • 培养 正规 大气的编程习惯

                基于对象  对于单个类的设计

面向对象 各个类之间的关系

      

  1. 头文件与类声明

                

  •          C++代码基本形式

  •        C++与C的输出

 

cout << "i = " << i << endl; //将 “i = ” i  endl 依此输出到标准输出 (如屏幕) ,<<  表示方向

  •          头文件中的防卫式声明

 

第一次引入 未定义 __COMPLLEX__  则第一次定义

第二次引入 已定义  __COMPLLEX__ 则不会执行下面的代码

以此类推 防止多次引入同一个头文件 重复声明

建议大家 任何一个头文件都要加上防卫式声明

 

  •         头文件布局

 

 

  •         类的声明

 

 

  •                 类模板

 

                 模板属于静态多态,地址晚绑定,类型不提前写死,用的时候再绑定

 

3.构造函数

  •                内联函数

 

                 内联函数 更快 更好

过于复杂的函数没有办法inline

否inline需要由编译器决定是

  •         访问级别

通常数据的部分放到private封装 函数的部分public

private和public可以任意交互

下面的例子表示

私有数据只能通过 成员函数读取 而不能通过对象直接获取

除非数据定义为public,而这也是我们所要避免的事情

 

  •          构造函数

 

良好的构造函数写法 初始值应该放到参数列表中 将r赋值给re,i赋值给im

好处是完整的执行了变量初始化和赋值的两个阶段,如果在构造函数中赋值,就相当于

放弃了初始化阶段,效率会差一些

不带指针的类 多半不用写析构函数,比如本例

 

  •            构造函数可以有多个

 

类被初始化 可能有不同的初值设定 所以可以重载构造函数

编译器编译后,会将重载的函数编译成不同的函数,

只有编译器自己看得懂,在编译器看来其实不同名

         (2)的写法不正确,因为构造函数调用时没有传参数,

        两个构造函数都可以调用,编译器无法确定调用哪个

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值