1.结构体和类的区别:
访问控制权不同:
struct中缺省访问控制权限修饰符时,为public
class中缺省访问控制权限修饰符时,为private
2.private/protected/public
1)类中成员访问权限
private:只能在本类中被访问
protected:可在本类和子类中被访问
public:可在本类、子类和外部中被访问
2)类的继承访问特性
3.引用和指针变量的区别
1)引用无需地址空间,作为变量的别名:int a = 5;int &b = a;&此处为引用符号
主要用于函数传参
2)指针变量自身需要地址空间,存储指向变量的地址:int *pA = &a;&此处为取地址符号
4.->和.以及::的区别
1)->:指针指向成员运算符,this->data=data;this为对象的指针
2).:结构体或对象的成员运算符
3):::作用域标识符,表示所属关系,Animal::Eat();Eat()是Animal类的成员方法
5.析构函数(~)
1)当一个对象生命周期结束时,其所占有的内存空间就要被回收,这个工作就由析构函数来完成。
2)析构函数是“反向”的构造函数,析构函数不允许有返回值,更重要的是析构函数不允许带参数,
并且一个类中只能有一个析构函数。
6.多态(virtual)
1)虚函数:若子类中有与父类中虚函数对应的函数,就执行子类的对应函数;若子类没有,则仍执行
父类的虚函数。virtual void Eat();
访问控制权不同:
struct中缺省访问控制权限修饰符时,为public
class中缺省访问控制权限修饰符时,为private
2.private/protected/public
1)类中成员访问权限
private:只能在本类中被访问
protected:可在本类和子类中被访问
public:可在本类、子类和外部中被访问
2)类的继承访问特性
继承 父类访问特性 子类访问特性
:private public private
protected private
private no access
:protected public protected
protected protected
private no access
:public public public
protected protected
private no access
3.引用和指针变量的区别
1)引用无需地址空间,作为变量的别名:int a = 5;int &b = a;&此处为引用符号
主要用于函数传参
2)指针变量自身需要地址空间,存储指向变量的地址:int *pA = &a;&此处为取地址符号
4.->和.以及::的区别
1)->:指针指向成员运算符,this->data=data;this为对象的指针
2).:结构体或对象的成员运算符
3):::作用域标识符,表示所属关系,Animal::Eat();Eat()是Animal类的成员方法
5.析构函数(~)
1)当一个对象生命周期结束时,其所占有的内存空间就要被回收,这个工作就由析构函数来完成。
2)析构函数是“反向”的构造函数,析构函数不允许有返回值,更重要的是析构函数不允许带参数,
并且一个类中只能有一个析构函数。
6.多态(virtual)
1)虚函数:若子类中有与父类中虚函数对应的函数,就执行子类的对应函数;若子类没有,则仍执行
父类的虚函数。virtual void Eat();
2)纯虚函数:该类称为抽象类,不能实例化对象,只能由子类来实现该函数,再让子类实例化对象。virtual void Eat() = 0;
7.iostream与iostream.h的区别
C:#include<iostream.h>
C++:#include<iostream>
using namespace std;
8.防止头文件的重复包含或类的重复定义
#ifndef XXXX_H
#define XXXX_H
{
code;
}
#endif
9.Fish::Fish():Animal(400){}
子类不带参的构造函数给父类带参的构造函数传递参数
10.快捷键
F7:编译全部cpp文件
Ctrl+F7:单个编译cpp文件
F5:启动调式
Ctrl+F5:开始执行