最近学习了C++的类,有了一些学习总结,和大家分享
要理解类,就必须理解面对对象编程
面向对象编程
对于计算机,它是无法理解抽象概念的,他只能理解诸如去哪,干嘛的简单指令,就此发展出了最早的一种编程思想--过程编程,举个例子,我要收集一份学生的数据,我需要利用它去分析这个学生,过程性编程会先考虑如何将数据输入,如何将数据存储,如何使用这份数据,如何去表示分析结果,这样的思考是没有问题的,但实际上,你会在每一步遇到数不胜数的困难,输入怎么才能方便又快捷?是用户输入还是文件读取?存储是利用什么方式?怎么管理数据?这一系列问题不仅会让开发变得焦头烂额,后期维护的时候,如果想要改动,还得考虑会不会影响其他功能,这就是Pascal和BASIC等“面条编程”的害处,那怎么解决呢?
思路是没错的,但我们可以把一个庞大的任务分开,数据输入,数据存储,数据分析,分析结果表示,每一个模块都有一个基本不变的接口,就像一个个拼图块,模块内逻辑与接口分开,这就是对象编程的来源。
如果对每一个学生都只需要同样的数据,对同样的数据进行同样的操作,我们就可以把他抽象成一个人,一个模版,只是每一个人的数据内容不相同,那这种模版我们就称之为对象,而类就是对象的一种实现方式。
C++的类
如今每一种主流语言都有其类的实现方式,这里介绍C++里的类实现
class name //类的声明
{
private:
XXX
XXX
XXX
public:
XXX
XXX
XXX
};//类声明也是操作,是不能遗忘分号的
name是类的名字,每一个类都有唯一的名字与之对应
访问控制
那什么是private和public呢?
就如名字一样,“private”下的变量,常量,函数声明是私有的,外部无法直接调用,那如果我们要使用呢?这就是“public”的作用了,它下的声明是可以直接被外部调用的,那我们就可利用public里的函数间接调用内部的数据和函数了
#include<iostream>
class Student
{
int scr;
int goal;
public:
void set(int a,int b){
scr = a;
goal =b;
}
void show(){
std::cout<< scr <<"\n"<< goal;
}
};
int main(){
Student abc;
abc.set(40,60);
abc.show();
return 0;
}
首先我们声明了一个Student类,会发现少了private的关键词,这是因为编译器会默认把所有没有标识的声明设为private,所以src和goal都是私有的,而set()和show()则是公有的。
其中set接受两个参数,并把接受的参数,赋值给src和goal,而show则把这两个变量的值输出,而我们把这种可以利用来操作类内部数据的函数称为类成员函数。
这一期到这里就结束,感谢观看,不日会出下一期,下一期会介绍类成员函数的实现,类的构造和析构函数!
2841

被折叠的 条评论
为什么被折叠?



