c++核心编程

四区:
代码区:存放二进制置零
全局区:存放全局变量和静态变量以及常量
栈区:存放局部变量以及参量,由编译器自动释放
堆区:由程序员释放,或者操作系统收回

程序运行前:
	代码区:共享,可读
	全局区

栈区:不要返回局部变量的地址
堆区:堆区由程序员开辟和释放,堆区用new关键字进行开辟内存。

new 数据类型(记得释放内存)
在堆区创建整型数据
new 返回的是该数据类型的指针

引用:给变量起别名
引用必须初始化
引用在初始化后,不可以改变(引用的本质是指针常量)

引用传参
可以利用引用技术让形参修饰实参
可以简化指针修改实参

常量引用
常量引用主要来修饰形参,防止误操作

函数默认参数
形参列表是可以有默认值的

  1. 若果某个位置参数有默认值,那么从这个位置往后,从左向右,必须都有默认值。
  2. 如果函数声明有默认值,那么函数实现就不能有默认参数。

函数重载
函数名可以相同,提高复用性
函数重载满足条件:
同一个作用域下
函数名称相同
函数参数类型不同,或者个数不同,或者顺序不同
注意:函数返回值不可以作为函数重载条件

类和对象
三大特性:封装,继承,多态
封装的意义:将属性和行为作为一个整体,表现生活中的事务
将属性和行为加以权限控制

对象的初始化和清理
编译器提供的构造函数和析构函数是空实现
构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用
析构函数:主要在对象销毁前系统自动调用,执行清理工作。
构造函数语法: 类名(){}

  1. 构造函数,无返回值也不写void
  2. 函数名与类名相同
  3. 构造函数可以有参数,因此可以发生重载
  4. 程序在调用对象时自动调用构造,无需手动调用且只调用一次。

析构函数: ~类名(){}
析构函数不可以有参数,因此不可以发生重载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值