所在的位置: C++ >> C++市场 >> C的类是什么

C的类是什么

白癜风初期有什么征兆 http://baidianfeng.39.net/a_bdfnzhm/141222/4541952.html

前言

类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。

有些教程将类的成员变量称为类的属性(Property),将类的成员函数称为类的方法(Method)。在面向对象的编程语言中,经常把函数(Function)称为方法(Method)。

与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间。

类的定义

类和C语言里的结构体唯一不同的就是,类里面除了可以写变量之外还可以,可以写函数。咱们通过代码来了解一下:

#includeiostreamusingnamespacestd;structTestC//C语言结构体{intage;charname[15];};voidInitC(structTestC*temp,intfage,constchar*fname){//在函数里面改变变量的值,需要传入指针哦temp-age=fage;strcpy(temp-name,fname);}voidShowInfo(structTestCtemp){printf("我是%s,今年%d岁了~\n",temp.name,temp.age);}structTestCPP//C++类{intage;charname[15];voidInitCpp(intfage,constchar*fname){age=fage;strcpy(name,fname);}voidShowInfo(){cout"我是"name"今年"age"岁了~"endl;}};intmain(){structTestC*Tc=(structTestC*)malloc(sizeof(structTestC));InitC(Tc,23,"maye");ShowInfo(*Tc);TestCPPTCPP;TCPP.InitCpp(18,"C语言Plus");TCPP.ShowInfo();while(1);return0;}

可以看到C语言定义好了结构体,如果想写一个函数对里面的所有数据进行初始化,那么你就得在下面写一个函数,还要指定初始化的结构体变量。

那么在C++里我们可以把这个初始化数据的函数放到结构体里面(一般叫类),调用函数的方式和结构体使用成员的方式一样。很好理解吧!

在C++里,除了使用struct关键字定义类外,还新增了class关键字,专门用来定义类,直接把struct替换为class就可以了。

TestCPP是类的名称;类名的首字母一般大写,以和其他的标识符区分开。{}内部是类所包含的成员变量和成员函数,它们统称为类的成员(Member);由{}包围起来的部分有时也称为类体,和函数体的概念类似。

类的成员类型

类成员可以被定义为public(公有)、private(私有)或protected(保护)。默认情况下是定义为private。

什么意思呢?还是通过代码来了解,俗话说得好,实践是检验真理的唯一标准!

#includeiostreamusingnamespacestd;structStudent//C++类{private:intage;protected:charname[15];public:intscore;voidinit(){age=18;strcpy(name,"C语言Plus");score=88;}};intmain(){Studentstu;stu.init();stu.age;stu.name;stu.score;while(1);return0;}

可以看到除了public成员,其他两种在类的外面是没有办法访问的,这就是这个作用,具体的咱们在后面详细了解。

扫码


转载请注明:http://www.aierlanlan.com/rzdk/450.html