课本使用《C++PrimerPlus》,有一定C语言基础
学习方向:软件逆向、破解,外挂与反外挂
面向过程编程和面向对象编程(OOP)
首先区分面向对象(OOP)中的对象并不是晚上和你滚床单的对象。《C++PrimerPlus》中指出:以“我喜欢上一个女孩”为例
(1)面向过程编程强调过程:
类似C语言中的函数,”上”是过程,两个参数”我”和”女孩”;
(2)面向对象编程(OOP)强调数据(表示概念):
“我”和”女孩”是对象,”我”里面有个方法”上”,参数是女孩
“类”简介
在C++中,类是一种描述新型数据格式的规范,对象是根据这种规范构造的特定的数据结构。例如类可以描述班级里所有同学的基本特征(姓名、年龄、职位、性别等)。而对象则代表特定的(具体的)某个学生(王美丽、16岁、副班长、男)。
我个人感觉这个C++中的”类”有点像《数据结构》中的抽象数据类型(ADT):
“类”规定了可以使用哪些数据来表示对象以及可以对这些数据执行哪些操作;
抽象数据类型(ADT)的定义如下图:
“自顶向下(top-down)”和”自下向上(bottom-up)”
自顶向下(top-down):在C语言中,其理念是将大程序分解成小型、便于管理的任务,若分解后仍有某项较大,则继续分解,直到程序全部划分为小型的、易于编写的模块(也就是函数)(例如:做番茄蛋盖饭。分解为两步:炒番茄蛋+焖米饭;而炒番茄蛋又可以分为:切番茄、打鸡蛋等)。
自下向上(bottom-up):在C++中,OOP程序设计首先设计类,用它们准确表示程序要处理的东西(例如:英雄联盟LOL可能定义了剑圣、盖伦、蛮王、寒冰的类。类定义描述了每个类可执行的操作,如蛮王E可以穿墙)。最终设计一个使用剑圣、盖伦、蛮王、寒冰······这些类的程序。这种从低级组织(如类)到高级组织(如程序)的处理过程叫做自下向上(bottom-up)编程。
C++与C语言
C语言简洁、适合系统编程,使用广泛且与UNIX操作系统联系紧密,C++是在C语言的基础上加入了OOP(面向对象)特性和对C语言泛型编程的支持,但没有对C语言的组件作较大改动,即C++是C语言的超集,任何有效的C程序都是有效的C++程序。
计算机程序将实际问题转换为计算机可以执行的操作序列。OOP(面向对象)赋予了C++语言将问题所涉及的概念相互联系起来的能力,而C语言赋予了C++与底层硬件的紧密联系,这种结合使得C++得以广泛传播。
为什么选择C++(凑个字数)
本人对软件逆向、破解,外挂与反外挂这方面比较感兴趣,52破解论坛长期潜水的白嫖党,励志成为一个小学生眼中的“大神”(或者是大婶)。
以后会把学习笔记定期上传,新人一个,大神勿喷。