1.什么是类和对象
类是一个抽象的概念,用来描述某一类对象的特点。
可以举个例子,放在生物学里面,人就是一个类,而什么是人,则是由人类的某些特点定义的,比如会直立行走,会思考等等。
人{
有头发;
思考;
直立行走;
使用工具;
}
对象是根据类的概念所创造的实体,就好比你和我都是人,但是人是个概念,而你和我都是现实存在的。
那现在思考一下!
一个类没有对象还是类吗?
当然,就好比时光机,长生不老药都是一种概念,可是到现在还没有具体的实体。
一个对象可以没有对应的类吗?
当然不可以,对象是根据类创造的实体,是有主次关系的。
2.类的内容
类的最基础内容就是属性和行为?
属性:就是一些特征项的数值,比如身高,体重等,一般都是名词,且一般通过成员变量定义;
行为:表示执行的动作,比如吃饭,睡觉等,一般都是动作,通过成员函数实现。
3.类的定义
类的关键字是class.
这里以最常见的学生距离创建一个类
class Student
{
float height;//身高
float weight;//体重
string name;//名字
float score;//分数
void read_book()
{
cout<<"读书"<<endl;
}
void play_game()
{
cout<<"打游戏"<<endl;
}
};
4.创建对象
在c++中有两种类型的对象
栈内存对象,这里和c语言的栈开辟的变量一样,离开最近{}作用域,就会自动销毁内存
堆内存对象,必须使用new关键字创建,使用指针保存。不会自动销毁内存,必须使用delete关键字销毁,不然容易造成内存泄露。
这里通过上面的创建的学生类来分别创建对象
#include <iostream>
using namespace std;
class Student
{
float height;//身高
float weight;//体重
string name;//名字
float score;//分数
void read_book()
{
cout<<"读书"<<endl;
}
void play_game()
{
cout<<"打游戏"<<endl;
}
};
int main()
{ Student stu1;//栈内存对象
Student * stu2=new Student;//堆内存对象
delete stu2;//销毁堆内存;
stu2=NULL;
}