类:
把相关事物的共共同特征抽连出来形成一个集合体
车: 轮子,方向盘,引擎。 将这些抽取出来形成一个新的概念 ==》 实例对象:卡车,火车
-
类的定义:
把相关的数据和方法抽取出来星辰一个新的数据类型
class + 类的名字 (C+类的名字)
{
功能(走)(命名:动宾结构,eg: setFun())
数据(轮子,方向盘,引擎)(命名:m_前缀+变量名字 eg: m_iID)
}
-
面向对象和面向过程:
面向过程:把步骤一个个罗列出来(函数)
面向对象:对象
eg1:
把大象装进冰箱:
1.打开冰箱门
2.把大象装进去
3.关上冰箱门
面向对象:冰箱、冰箱.开门()、冰箱.装()、 冰箱.(关门)
eg2:
制作棋盘:
五子棋: 1.制作棋盘 2.黑白子 3.定规则
围 棋: 1. 2. 3.定规则2
-
面向对象基本特征:
封装、继承、多态
封装:
把数据和方法捆绑起来,提供给可信的对象使用。
访问属性: 1.public(所有人都能访问) 2.private(只有自己能够访问) 3.protected(自己和他的子类能够访问)
在类里面:数据部分要设置为私有。 提供接口, get set (公有)
继承:
继承和组合
多态:
重载和重写
-
内联、构造与析构函数
CStudent();//构造函数:对象常见的时候调用
~CStudent();//对象被销毁的时候调用,释放北村
//提供接口
void setId(int iID)//内联函数:写在头文件的类里面
{
m_iId = iID;
}
int getId();//普通成员函数
利用接口访问私有数据
class CStudent
{
public:
CStudent();//构造函数:对象常见的时候调用
~CStudent();//对象被销毁的时候调用,释放内存
//提供接口
int getId() { return m_iId; }
private:
int m_iId;
char m_iName[32];
};
CStudent::CStudent()
{
m_iId = 0;
memset(m_iName, 0, sizeof(m_iName));
}
CStudent* Student = new CStudent;
int main()
{
cout << Student->getId()<<endl;
system("pause");
return 0;
}