c++基础学习笔记6

引用、函数默认参数、类和对象

#include
using namespace std;
#include
#include

int main()
{
/*
函数默认参数:返回值类型 函数名(参数=默认值){}
1.如果某个位置已经有了默认参数,那么从这个位置往后,从左向右都必须右默认值
2.如果函数声明有默认参数,函数实现就不能有默认参数(两者只能有一个)
函数占位参数:返回值类型 函数名(数据类型){},占位参数可以有默认参数:例如int func(int =10)
函数重载(可以让函数名相同,提高复用性)条件:同一个作用域下,函数名称相同,函数参数类型不同或个数不同,引用可以作为重载条件
内存分区模型: 1.代码区:存放函数体的二进制代码,操作系统进行管理。特点:共享,只读
2.全局区:存放全局变量和静态变量以及常量(字符串常量、const修饰的全局变量(全局常量))(全局变量:不在函数体内的变量)
3.栈区:编译器自动分配释放,存放函数的参数值、局部变量(包括const修饰的局部变量)等
4.堆区:程序猿分配和释放或程序结束后由操作系统回收,堆区手动释放:delete.
new的基本语法: new 数据类型(变量初始值) (new返回的是该数据类型的指针),释放:delete 变量;
new 数据类型[] (在堆区创建10个整形数据的数组) 释放:delete[] 变量;
引用:给变量起别名。语法:数据类型 &别名=原名。例子:int a=1; int &b=a;
引用必须初始化,初始化后不可以改变
函数传参时,可以利用引用的技术让形参修饰实参(和地址传递效果一样)。例子:void func(int &a1,int &b1) { int temp=a1;a1=b1;b1=temp} func(a,b);
引用做函数的返回值: 1.不要返回局部变量的引用(局部变量处于栈区,运行完,系统释放)
2.函数的调用可以作为左值
引用的本质:指针常量
int &red=a(系统自动转换为 int * const ref=&a)
ref=10(如果ref为引用类型,系统自动转换为解引用*ref=10)
常量引用:修饰形参,防止误操作。例子: void func(const int &a) {int a=10;}
引用必须引一块合法的内存空间.int &ref=10(错);const int &ref=10(√)(原因:编译器优化代码,int temp=10;const int &ref=temp)

 类和对象:
 类:class
 通过类实例化(创建一个对象),并给对象属性赋值,通过点.可以访问对象中的属性
 class 类名 {属性、行为}类中的属性和行统称为成员,属性:成员属性,成员变量。行为:成员函数、成员方法
 访问权限: 1.public	成员类内外可以访问
			2.protected	 成员类内可以访问,类外不可以访问(子类可以访问父类的保护内容)
			3.private	成员类内可以访问,类外不可以访问
 struct 默认公共权限 public
 class 默认私有权限private
   */
system("pause");
return 0;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值