Cpp中的class(类)

类是可以封装数据和函数的高级结构体。

C++ 是一门面向对象的编程语言,理解 C++,首先要理解类(Class)对象(Object)这两个概念。

C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:

#include <stdio.h>//定义结构体 Studentstruct Student{

    //结构体包含的成员变量
    char *name;
    int age;
    float score;
};
//显示结构体的成员变量
void display(struct Student stu){
    printf("%s的年龄是 %d,成绩是 %f\n", stu.name, stu.age, stu.score);
}

int main(){
    struct Student stu1;
    //为结构体的成员变量赋值
    stu1.name = "小明";
    stu1.age = 15;
    stu1.score = 92.5;
    //调用函数
    display(stu1);

    return 0;
}
运行结果:
小明的年龄是 15,成绩是 92.500000
C++ 中的类也是一种构造类型,但是进行了一些扩展,类的成员不但可以是变量,还可以是函数;通过类定义出来的变量也有特定的称呼,叫做“对象”。
C语言中的 struct 只能包含变量,而 C++ 中的 class 除了可以包含变量,还可以包含函数。
display() 是用来处理成员变量的函数,在C语言中,我们将它放在了 struct Student 外面,它和成员变量是分离的;
而在 C++ 中,我们将它放在了 class Student
内部,使它和成员变量聚集在一起,看起来更像一个整体。
有些资料也将类的成员变量称为属性(Property),将类的成员函数称为方法(Method)。
面向对象编程(Object Oriented Programming,OOP)
类是一个通用的概念,C++、JavaC#PHP 等很多编程语言中都支持类,都可以通过类创建对象。
可以将类看做是结构体的升级版,C语言的晚辈们看到了C语言的不足,尝试加以改善,继承了结构体的思想,并进行了升级,让程序员在开发或扩展大中型项目时更加容易。
不要小看类(Class)这一层封装,它有很多特性,极大地方便了中大型程序的开发,它让 C++ 成为面向对象的语言。
面向对象编程在代码执行效率上绝对没有任何优势,它的主要目的是方便程序员组织和管理代码,快速梳理编程思路,带来编程思想上的革新。
面向对象编程是针对开发中大规模的程序而提出来的,目的是提高软件开发的效率。
不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。
如果你希望开发一个贪吃蛇游戏,类和对象或许是多余的,几个函数就可以搞定;但如果开发一款大型游戏,那你绝对离不开面向对象。
---------------------------------以上摘自C语言中文网----------------------------------------------------
posted @ 2020-02-17 16:03  John-C  阅读(1973)  评论(0编辑  收藏  举报