C++基础学习(2)

C++学习(2)

一、设计类   (抽象类)

Class            类名

{

Public           公共权限

设置成员属性

设置成员函数

}

使用类   创建对象    实例化对象

类名     对象名

通过对象来设置属性,调用成员函数

类和对象关系(类是对象的抽象;对象是类的实例)

二、内联函数的引出

内联函数:初定义的概念用内联函数来实现,代替宏

内联函数声明:

inline void func()

如果函数实现时,没加inline,那这个函数依旧不算内联函数

类内部的成员函数,默认前面会加inline关键字

限制:

  1. 不能存在任何形式的循环语句
  2. 不能存在过多的条件判断语句
  3. 函数体不能过于庞大
  4. 不能对函数进行取址操作

三、函数的默认参数

参数可以有默认值

写法:  参数后面=………

注:如果有一个位置有默认参数,那么该位置从左到右必须有默认参数

默认参数,如果有参数,就用传入参数,没有就用默认值

函数占位参数:如果有了占位参数,函数调用时就必须要提供这个参数,但用不止占位参数可以有默认值

如果函数声明里有了默认参数,那函数实现时就没有默认参数

函数声明和实现里只能有一个默认参数,不能同时出现默认参数

四、函数重载

实现重载条件:

函数名称可以重复;

必须在同一个作用域

函数参数:个数不同,类型不同,顺序不同;

返回值不可以作为函数重载条件

(当函数重载遇到默认函数,要注意避免二义性)

Const也可以作为重载条件

五、extern C浅析

在C++中函数可以发送重载,编译器会改变函数名称。解决了C++文件中调用C语言的代码

Ifdef_cplusplus extern”C”

六、C语言和C++封装区别

C语言封装属性(变量)和操作(函数)分开处理

C++中的封装严格类型转换检测,让属性和操作绑定

控制权限:

Public    公共权限;protected    保护权限;private    私有权限

若不声明权限,默认private

Struct的默认权限为public;class的默认权限是private;

Struct和class是一个意思,唯一不同的是默认权限不同

所谓私有权限,就是私有成员(属性,函数)在类内部可以访问,类外部不可以访问(子类也不可以)

公共权限类内部、类外部都可以访问

保护权限类内部可以访问(当前类的子类可以访问),类外部不可以访问

建议成员变量设置为private,自己提供公共对外接口,进行set和get方法访问

七、面向对象程序设计

对象的构造和析构

构造:初始化

析构:清理

构造函数的写法:与类名相同,没有返回值,不写void;、,可以发生重载(可以有参数);编译器自动调用,不是手动调用,而且只会调用一次

析构函数:

与类名相同,类名前加“~”也没有返回值,不写void,不可以有参数,不可以发生重载;自动调用,只调用一次

如果没有提供构造函数和析构函数,系统默认调用,空实现

构造和析构必须到public下才可以调用

八、构造函数的分类和调用

分类:

按照参数分类,无参数构造函数(默认);有参数构造函数

按照类型分类,普通构造函数;拷贝构造函数

拷贝构造函数:

类名person( const person&p)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值