10分钟让你知道C++类和对象到底是什么?
C++ 中的类(Class)可以看做C说话中布局体(Struct)的进级版。布局体是一种结构范例,可以包括多少成员变量,每个成员变量的范例可以差异;可以通过布局体来界说布局体变量,每个变量拥有沟通的性子。譬喻:
#include <stdio.h>
//界说布局体 Student structStudent{ //布局体包括的成员变量 char *name; int age; float score; }; //表现布局体的成员变量 void display(structStudent stu){ printf("%s的年数是 %d,后果是 %fn", stu.name, stu.age, stu.score); }
int main(){ structStudent stu1; //为布局体的成员变量赋值 stu1.name = "小明"; stu1.age = 15; stu1.score = 92.5; //挪用函数 display(stu1);
return 0; } 运行功效: 小明的年数是 15,后果是 92.500000 C++ 中的类也是一种结构范例,可是举办了一些扩展,类的成员不单可所以变量,还可所以函数;通过类界说出来的变量也有特定的称号,叫做“工具”。譬喻:
#include <stdio.h>
//通过class要害字类界说类 classStudent{ public: //类包括的变量 char *name; int age; float score; //类包括的函数 void say(){ printf("%s的年数是 %d,后果是 %fn", name, age, score); } };
int main(){ //通过类来界说变量,即建设工具 classStudent stu1; //也可以省略要害字class //为类的成员变量赋值 stu1.name = "小明"; stu1.age = 15; stu1.score = 92.5f; //挪用类的成员函数 stu1.say();
return 0; } 运行功效与上例沟通。 对付认识 C++ 的读者,这段代码并不类型,请忽略这一细节,本节的重点是引入类和工具的观念。这套 C++ 教程是在C的基本上编写的,我并不但愿一开始就提出过多的 C++ 观念,让读者吃不用,我但愿读者从C逐渐过渡到 C++,从第二章开始编写类型的 C++ 代码。也就是说,包罗本节在内,第一章有许多不类型的 C++ 代码,再次请认识 C++ 的读者忽略。 class 和 public 都是 C++ 中的要害字,初学者请先忽略 public(后续会深入讲授),把留意力齐集在 class 上。 C说话中的 struct 只能包括变量,而 C++ 中的 class 除了可以包括变量,还可以包括函数。display() 是用来处理赏罚成员变量的函数,在C说话中,我们将它放在了 struct Student 表面,它和成员变量是疏散的;而在 C++ 中,我们将它放在了 class Student 内部,使它和成员变量聚积在一路,看起来更像一个整体。 布局体和类都可以看做一种由用户本身界说的伟大数据范例,在C说话中可以通过布局体名来界说变量,在 C++ 中可以通过类名来界说变量。差异的是,通过布局体界说出来的变量照旧叫变量,而通过类界说出来的变量有了新的名称,叫做工具(Object)。 在第二段代码中,我们先通过 class 要害字界说了一个类 Student,然后又通过 Student 类建设了一个工具 stu1。变量和函数都是类的成员,建设工具后就可以通过点号.来行使它们。 可以将类比喻成图纸,工具比喻成零件,图纸声名白零件的参数(成员变量)及其包袱的使命(成员函数);一张图纸可以出产出多个具有沟通性子的零件,差异图纸可以出产差异范例的零件。 类只是一张图纸,起到声名的浸染,不占用内存空间;工具才是详细的零件,要有处所来存放,才会占用内存空间。 在 C++ 中,通过类名就可以建设工具,即将图纸出产成零件,这个进程叫做类的实例化,因此也称工具是类的一个实例(Instance)。 有些资料也将类的成员变量称为属性(Property),将类的成员函数称为要领(Method)。(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |