C++学习札记20190417

20190417AM
1
内联函数
inline类似同于#define(宏函数)
替代的内容都会被检查
若被替换的代码过多,将不会执行inline,根据实际情况决定
意义:减少函数的压栈和出栈的消耗
宏函数时再预处理器
内联函数时在编译器编译阶段处理

2
函数的重载
只跟函数名和函数表内的参数类型有关,与函数返回值类型无关

3
函数的默认参数和占位参数
默认参数(形参)是从右往左
占位参数没有太大意义,亚元

4
结构体与类唯一的区别是默认权限不一样,结构体默认权限时public,而类的默认权限时private
且类更有权限的划分,其中protect的存在主要是跟后面要提到的继承有关
类的封装特性

20190417PM
5
面向对象和面向过程
狗吃翔—面向对象
吃狗翔—面向过程
(https://blog.csdn.net/jerry11112/article/details/79027834)
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象就是高度实物抽象化、面向过程就是自顶向下的编程!
6
#pragma once等价于
#ifndef __***H
#define __***H


#endif

7
同类之间无私处

20190420PM
8
构造函数
是在对象被创建的时候,用来初始化对象的函数
构造函数可以重载

9
析构函数和构造函数都没有返回值,析构函数没有形参
类中会有个默认的无参构造函数:、
1当没有任何***显示的构造函数(显示的无参构,显示有参,显示拷贝构造)*的时候,默认无参构造函数就会出现
会有默认的拷贝构造函数:
当没有
显示的拷贝构造***的函数,默认的拷贝构造就会出现。

会有默认的析构函数
当没有***显示的析构函数***的时候,默认的析构函数就会出现。

析构函数调用的顺序,跟构造相反,谁先构造的,谁后析构。

扫描二维码关注公众号,回复: 9835774 查看本文章

10
构造函数的初始化
构造对象成员的顺序跟初始化列表的顺序无关
而是跟成员对象的定义顺序有关

11静态成员变量和静态函数
静态成员变量的初始化,一定类的外边。

12
static练习
1,static成员变量实现了同类对象间信息共享。
2,static成员类外存储,求类大小,并不包含在内。
3,static成员是命名空间属于类的全局变量,存储在data区。
4,static成员只能类外初始化。
5,可以通过类名访问(无对象生成时亦可),也可以通过对象访问。

13
sizeof():求取数据类型大小
strlen():求取字符串有效字长

""里面存在一个\0
"\0"不等价于NULL
'\0’等价于NULL

14
子类对象可以当作父类对象使用
子类对象可以直接赋值给父类对象。
子类对象可以直接初始化父类对象
父类指针可以直接指向子类对象
父类引用可以直接引用子类对象

发布了22 篇原创文章 · 获赞 0 · 访问量 439

猜你喜欢

转载自blog.csdn.net/qq_36956082/article/details/89353325
今日推荐