一、面向对象基础
C++不是纯面向对象语言,而是基于面向对象的。因为c++包含了c,c是面向过程的。
面向对象的三大特性:封装、继承、多态
类(class/struct)包含了数据(成员变量)和函数(成员函数)
知识点一:三种访问修饰符public、protected、private
1、public成员可以在类外部之间访问,其他两个不行。
2、类中没有定义限定符,就默认为private。
3、类的访问限定符体现了面向对象的封装性。
如果在类中只做了成员函数的声明,在类外面定义时,需要表明是那个类:
class A{
public:
void fun1();
private:
int age;
};
void A::fun1(){
cout>>age;
}
知识点二:类的实例化
1、类只是一个定义了成员变量和函数的一个集合,并没有给他们分配实际的空间来存储它们。
2、类的实例化就是创建对象的过程,他给类中的数据分配了空间,这个对象占用实际的物理空间存储类的成员变量。
3、每个对象的大小为类中所有成员变量的大小之和,遵循内存对齐原则。
注意
1、为什么要内存对齐——首先内存对齐的缺点就是浪费空间,但是他的访问速度快。因为计算机都是按4字节的整数倍开始读取,若内存对齐只需读一次,未对齐需要读两次,