摘要:
封装是C++的三大特性之一,封装后类里的成员就有访问限制符了,有public,protected,private访问权限了,类里 的private 私有成员,类外是不可以访问,那么当类外的函数或者另一个类想访问该类的私有成员时,怎么办? 那就用到友元的技术了,友元能够让一个函数或者类访问另一个类的私 阅读全文
摘要:
C++的三大特性:封装、继承、多态。 一、封装:将属性和行为作为一个整体,表现生活中的事物。一般来说就是把变量和函数一起放在一个类里,此时变量叫做成员变量,函数叫做成员函数。 封装的意义一:将属性和行为作为一个整体,表现生活中的事物。 1 #include<iostream> 2 using nam 阅读全文
摘要:
思路:1.播放随机种子,随机生成100个整形数,并把这些元素放入容器v中 2.对容器的元素进行排序,因为能用二分的前提是有序的 3.利用二分查找进行查找,找到返回1,找不到返回-1. 1 #include<iostream> 2 #include <vector> 3 #include <algor 阅读全文
摘要:
采用双指针的方法 思路:最后一个和最前面一个交换,两两交换,奇数就是l=r时退出,偶数是l>r时退出 1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <string.h> 4 5 int main() 6 { 7 char pSrc[] = 阅读全文
摘要:
gcc编译器对源文件文件的编译分为四个阶段:预处理、编译、汇编、链接。 预处理(-e):在这个阶段主要做了三件事:展开头文件、宏替换、去掉注释行,这个阶段需要gcc调用预处理器来完成,最重得到的还是源文件,文本格式。 编译(-s):这个阶段需要gcc编译器调用编译器对文件进行编译,最终得到一个汇编文 阅读全文
摘要:
黑盒测试:也叫功能测试,测试中把测试的软件当成一个黑盒子,不关心盒子内部结构是什么,对功能进行测试,观察软件的输入数据和输出数据是否和我们想要的一致。 白盒测试:白盒是指看到软件里面的源代码,基于代码进行测试,对代码里面的接口、数据结构、边界值、路径覆盖、错误处理等内容进行测试。 测试方法不同: 黑 阅读全文
摘要:
程序:就是硬盘上的可执行文件,并且只占用磁盘上的空间,是一个静态的概念。 进程:被执行之后的程序叫做进程,不占用磁盘空间,需要消耗系统的内存、cpu资源,每个运行的进程都有自己的虚拟地址空间,是一个动态的概念。线程:是轻量级的进程(light weight process),操作系统会以进程为单位, 阅读全文
摘要:
对于一个土木专业想转行IT行业的人来说,是一个艰难的过程,因为不知从何下手。 自己想加强计算机基础,就考下这个软件设计师,虽然感觉可能对找工作帮助也不大,但想到可以提高自己的基础就学习吧(好在通过了),世事艰难,唯有步步前行,但行好事,莫问前程。 阅读全文
摘要:
函数重载: 利用命名矫正(name mangling)技术,在编译时把函数名加上参数的首字母来区分同名函数。 需要满足3个条件: 1.同一个作用域下 2.函数名相同 3.函数参数类型不同,参数个数不同,参数顺序不同 示例: 1 //函数重载需要函数都在同一个作用域下 2 void func() 3 阅读全文
摘要:
实现原理: vector底层实现原理是一维数组。 vector通过一个连续的数组存放元素,如果这个数组的容量已满,再插入数据的时候,就要去申请一块更大的内存,然后把原来数组的数据复制到新数组中来,再释放原来数组的内存。 那么申请(扩容)多大的空间的比较合适呢? 如果我们扩容的空间太小了,比如原来的数 阅读全文