之前学过一阵C++,但是只是会用罢了,用C++做过一阵公司的数据库加密算法和网络通信算法,但是个人感觉自己并没有说有多扎实,所以从今天起从零开始整理一下C++的基础,自己做一下笔记,同时会以最通俗的语言来讲解各种名词和概念,把编程中的各种场景比作生活中的各种场景,如果你是一名刚刚入门的小白,想学习C++,那么不妨看看我今天以及未来写的每一篇笔记,来一起学习,交流。当然,我也是自学,没有名师在指导,所以要是哪位大神看出来我讲的东西有错的地方,也欢迎来指点指点,谢谢。
开发工程中,可能会遇到各种专业名词,这些词对于已经有编程经验或者有一些基础的同学来说应该再熟悉不过了,写程序几乎每时每刻都在和变量打交道。那么到底什么是变量呢?下面举一个例子:
假如小明想现在做一份鸡蛋炒饭,首先把锅准备好,开火,然后把两个咯咯哒鸡蛋打开,之后搅拌好倒入锅中,把鸡蛋炒的差不多熟的时候,把米饭倒进去,然后放入酱油等各种调料,最后我们炒好之后,把饭倒入饭碗里,小明把碗里的鸡蛋炒饭吃光了,小明养的小猫“咪咪”在旁边看着馋坏了。
常量:也就是预先定义好且永远不会改变的东西,首先,鸡蛋、米饭和各种调料我们在编程当中称之为常量,鸡蛋永远是鸡蛋,米饭也永远是米饭,不会因为场景不同而变化,鸡蛋永远都变不成酱油。我们可以用这样的格式来描述一个常量:
鸡蛋类型 第一个鸡蛋 = 咯咯哒鸡蛋;
鸡蛋类型 第二个鸡蛋 = 咯咯哒鸡蛋;
变量:变量的概念是存储一种指定数据类型的容器,在我们的例子中,饭碗就是一个变量,饭碗中可以容纳的数据类型是食物,所以我们把炒好的饭最后倒入饭碗里的过程在编程过程中我们可以看做是为一个变量赋值。我们现在用下面这种格式来描述把炒饭倒进碗里:
饭碗类型 蓝边小花碗 = 炒饭
类:指一个种类的事物,这类事物能做同样的事,有同样的属性,比如说人类就是一个类,人类都能炒蛋炒饭,都能吃饭。而且属性上所有人类都有鼻子有眼睛。我们可以用如下格式进行描述类:
种类 人类{
// 拥有的东西
眼睛
鼻子
// 能做的事
能炒蛋炒饭
能吃饭
}
种类 猫咪{
// 拥有的东西
鼻子
眼睛
// 能做的事
能馋
能看小明吃饭
}
对象:指一个种类的实例,比如说,小明就是人类这个种类的一个实例,或者在编程中这样描述:“小明是人类的实例对象”。我们可以这样描述一个对象:
人类类型 小明;
猫咪类型 咪咪;
函数(方法):方法和函数通常不严格区分,可以说是同一个概念,表示是“一个种类所拥有的一个功能”的意思,可以理解成某人或某物做一件事的过程。在刚才举的例子中小明炒饭就是一件事,也就是相当于编程当中的一个函数。函数在编程中通常有一个返回值,也就是一件事或一个功能执行后所产生的结果,咱们刚才炒饭这个“函数”最后炒好的鸡蛋炒饭就是一个结果,相当于编程中的返回值。当然,函数也可以没有返回值,比如说最后的“小明吃饭把饭吃光了”中的吃饭就是一个无返回值的函数,小明吃光了之后没有产生任何其他的结果。
我们用这样的一个格式来描述一个类和一个类中的函数(方法),或者说一个种类,所有用的一个能力或功能:
种类 种类名称{
做完事情之后产生的结果 做事情的名字(做事时所需要的材料等东西){
做的工程,怎么做
返回 : 做事产生的结果
}
}
说了这么多概念,还举了一个做好吃的的例子,我们接下来用我们上面给出的格式完整的描述一下我们的蛋炒饭例子吧~
鸡蛋类型 炒饭用的鸡蛋 = 咯咯哒鸡蛋
饭碗类型 装炒饭用的蓝边小花碗;
种类 人类 {
有鼻子
有眼睛
有手
蛋炒饭 做蛋炒饭(材料) {
把材料放入锅中,炒
返回 炒好的蛋炒饭
}
无结果 吃东西(装东西的容器){
从装东西的容器中把食物吃掉
消化
}
}
种类 猫咪{
有鼻子
有眼睛
有爪子
无结果 看东西(要看的东西){
盯着它看
}
无结果 馋(){
心里难受,想吃
}
}
然而和现实中不一样的是人能主动做某事,而计算机毕竟是计算机,需要我们编程来控制让他们做某事,而且在计算机这个虚拟场景中, 我们要新建一个人类小明和一个猫咪咪咪这样的角色,如下:
人类 小明 = 新建一个 人类();
猫咪 咪咪 = 新建一个 猫咪();
有了角色,我们需要编程让程序中的小明和咪咪完成蛋炒饭中的场景,在计算机中我们可以使用如下的格式让一个角色做某事:
对象.做某事();
有了这样的一个格式,我们就可以把上面的场景进行描述啦:
装蛋炒饭的蓝边小花碗 = 小明.做炒饭(咯咯哒鸡蛋,米饭,调料);
小猫.看东西(小明);
小明.吃饭(装蛋炒饭的蓝边小花碗);
小猫.馋();
怎么样,如果你没有过编程基础看着是不是有点费劲,编程实际就这么简单,按照他要求的条条框框的格式,把你要做的事情按照编程语言的格式要求描述出来,计算机就会按着你的要求去做啦。看完这篇文章后,接下来你要做的就是把上面我表达的格式和应用场景相关联后看懂了,大概记住了,然后等我们后面的文章陆陆续续的把我给大家的格式中的中文关键字换成对应的英文关键字就好啦,这就是编程~开发者每天做的事!加油吧少年~