类(class)
类:描述现实世界中的事物,用C++进行编程的时候,通常是将现实世界中的事物用类来进行描述
类的关键字:class
类是一个泛指(抽象)的概念,不是特指某一个事物
class Test
{
int a; //特征---变量
void function() //行为---函数
{
cout<<"hello word"<<endl;
}
};//类的后面一定要有分号
对象
对象:是类的实例化(特指实际的例子),是特指的概念,例如:人(泛指的概念),对人实例化后,叫张三(特指的概念)
对象的实例化:
1、在栈区实例化,栈区实例化的对象,不需要用户手动去释放内存,编译器会自动释放内存;
格式:类名 标识符名称;
2、在堆区实例化,堆区实例化对象,,需要用户手动去释放内存,如果不释放,很容易造成内存泄露;
格式:类名 * 标识符名称=new 类名;
3、访问类里面的成员
在栈区实例化:
标识符名称 . 成员;
在堆区实例化:
标识符名称->成员;
例如:
#include "iostream"
using namespace std;
//类描述人的特征和行为
//人具备:姓名、年龄、性别的特征,有吃饭、睡觉的行为
class people
{
public:
//特征
string name;//姓名
int age;//年龄
char sex;//性别
//行为
void eat()//吃饭
{
cout << "吃饭" << endl;
}
void sleep()//睡觉
{
cout << "睡觉" << endl;
}
};
int main()
{
people ly;//栈区对象的实例化
ly.name = "zzh";
ly.age = 20;
ly.sex = '男';
ly.eat();
cout << "姓名" << ly.name << endl;
people* wld = new people;//堆区对象的实例化
wld->sleep();
wld->name = "王";
return 0;
}
//加减乘除
#include "iostream"
using namespace std;
class sf
{
public:
void sum(int a,int b)
{
cout << "a+b=" << a+b << endl;
}
void sub(int a, int b)
{
cout << "a-b=" << a - b << endl;
}
void mul(int a,int b)
{
cout << "a*b=" << a * b << endl;
}
void exc(int a, int b)
{
cout << "a/b=" << a / b << endl;
}
};
int main()
{
sf function;
function.sum(4,5);
function.sub(9,3);
function.mul(4,5);
function.exc(10,5);
return 0;
}