c++笔记

耦合度

模块之间相互关联程度

面向对象优点

通过,继承,封装,多态降低程序的耦合度,并结合设计模式让程序更容易修改
和扩展,并且易于复用

抽象
   抓住事物本质,而不是具体实现
封装
  通过公有函数,操作处理私有数据,提供外部操作接口
  属性(私) 方法(公)
  进行访问控制

- 三目运算符的加强

	c中 不可作为左值
	c++  可作为左值  但返回值中一定不能包含常量

c/c++中的const

const int a = 10;
c 可以改值
c++ 不可以 (符号表)

const/ define 区别

1.	#define没有类型
2.	#define预编译(文本替换)
	 const 编译期
3.	定义复杂类型const - struct  //  - class

引用 &

本质
1. 别名 int a = 10;
       	int &b= a;
2. int a = 10;
   int &b = a;=> int * const b = &a;

引用作为函数返回值 不能返回局部数据

inline 内联函数

inline void func1()
{

}

不可用循环函数
不可过多判断条件
函数体不可过大
不能对函数进行取址操作
函数内联声明必须在调用语句之前

  1. #define 文本替换
    inline 镶嵌
  2. #define 无数据检查
  3. inline本质是函数
  4. #define 多加括号

默认参数

void fun1(int a ,int b = 0)从右往左

函数重载

  1. 名相同 一名多用
  2. 特征标不同
    参数类型
    参数个数
    参数顺序
    函数返回值不可作为依据

重载函数在本质上是相互独立的不同函数(静态链编)
重载函数的函数类型是不同的
函数返回值不能作为函数重载的依据
函数重载是由函数名和参数列表决定的

struct与class区别

  class 有成员函数 默认权限 private
  struct 默认权限public  
  类模板 class 可以表示模板类型  struct 不可以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值