众所周知C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计以及进行以继承和多态为特点的面向对象的程序设计。学习C++首先我们就得了解其类和对象的基本概念。那么C++的类和对象的基本概念到底是什么呢?为此本次的讲解课课家笔者主要以类和对象为主要讲解内容。
首先我们可以把C++中的类看做C语言中结构体(Struct)的升级版。通过之前的C语言学习我们知道,结构体是一种构造数据类型,可以包含若干成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质,具体代码比如:
#include
intmain(){
//定义结构体Student
structStudent{
//结构体包含的变量
char*name;
intage;
floatscore;
};
//通过结构体来定义变量
structStudentstu1;
//操作结构体的成员
stu1.name="小明";
stu1.age=15;
stu1.score=92.5;
printf("%s的年龄是%d,成绩是%f\\n",stu1.name,stu1.age,stu1.score);
return0;
}
输出结果:
小明的年龄是15,成绩是92.500000
虽然说C++中的类也是一种构造数据类型,但是C++进行了一些扩展,类的成员不但可以是变量还可以是函数,而通过类定义出来的变量叫做“对象”。具体代码比如:
#include
intmain(){
//通过class关键字类定义类
classStudent{
public://类包含的变量
char*name;
intage;
floatscore;
public://类包含的函数
voidsay(){
printf("%s的年龄是%d,成绩是%f\\n",name,age,score);
}
};
//通过类来定义变量,即创建对象
classStudentstu1;//也可以省略关键字class
//操作类的成员
stu1.name="小明";
stu1.age=15;
stu1.score=92.5f;
stu1.say();
return0;
}
输出结果
小明的年龄是15,成绩是92.500000
在上面的代码中class是C++中的关键字,用来声明一个类。public也是一个关键字,它表示后面的成员都是公有的。所谓公有,就是通过当前类创建的对象都可以访问这些成员。当然除了public还有private,它表示私有的,也就是对象都不能访问这些成员。我们知道,在C语言中,通过结构体名完成结构体变量的定义,而在C++中,通过类名完成对象的定义。结构体变量和对象被定义后会立即分配内存空间。其实我们可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数及其承担的任务;一张图纸可以生产出具有相同性质的零件,不同图纸可以生产不同类型的零件。在C++中,通过类名就可以创建对象,也就是将图纸生产成零件,通常这个过程叫做类的实例化,因此也称对象是类的一个实例。
PS:类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的零件,要有地方来存放,才会占用内存空间。类所包含的变量和函数也有了新的的称呼,变量被称为属性(通常也称成员变量),函数被称为方法;属性和方法统称为类的成员。
本次简单解读C++类和对象的讲解到此就暂告一段落,如果以后有什么相关内容进行补充或者修改的话,笔者会在此继续进行相关内容补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的讲解对大家学习C++能够起到一定的帮助作用!
¥498.00
¥268.00
¥398.00
¥118.00
¥15.00