CPP学习复习笔记

类类似于c语言中的结构体,c语言是面向过程的,cpp是面向对象的,类就是cpp面向对象的实现。

类的两种定义方式:

1、成员函数声明和定义都放在类中

2、类声明放在.h文件中,成员函数定义放在.cpp中,(成员函数名前需要加类名)::

一般采用第二种较好

另外,定义类的成员变量时,一般为了区分会加上  _  前缀或后缀 。

类的访问限定符与封装

cpp通过访问权限,选择性的将其接口提供给外部用户使用,实现封装。

访问限定符分为 public(公有) protected(保护) private(私有)

public修饰的成员在类外可以直接被访问,protected和private不可以,这里先不对他两进行细分,暂且认为是一样的。

访问权限作用域从访问限定符出现位置开始直到下一个访问限定符出现时为止,如果后面没有访问限定符,作用域就到 } 即(类结束)

class默认访问权限是private struct为public(因为struct要兼容C)

在类体外定义成员时,需要使用::指明成员属于哪个类

类只有实例化之后才会占用实际的物理空间,存储类成员变量

类对象存储方式

只保存成员变量,成员函数存放在公共的代码段

一个类的大小,实际就是类中成员变量之和,要注意内存对齐。空类的大小比较特殊,编译器给了空类一个字节来唯一标识这个类的对象。

结构体内存对齐规则:

第一个成员在与结构体偏移量为0的地址处。   其他成员变量要对齐到对齐数的整数倍的地址处(对齐数=编译器默认的一个对齐数 与 该成员大小的较小值 VS默认对齐数为8)  结构体总大小为最大对齐数的整数倍

this指针

this指针在实参、形参位置不能显示写,但是在类里面可以显示的用。

this指针一般存在栈帧里面。

你可能感兴趣的:(学习,笔记,c++)