赞
踩
c++是一门面向对象的语言,讲到面向对象,我去度娘了解了一下。
面向对象:计算机处理的问题越来越复杂,世界上的事物一切皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界的关系抽象成类、继承,帮助人们对现实世界的抽象与数字建模。从这个概念上简单认识下面向对象的含义。
什么是c++? c++是在C语言的基础上发展而来,它兼容c语言,同时又以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。
在c++的发展过程中,c++98和c++11比较重要。
c++的应用领域:
1.操作系统以及大型系统软件开发
2. 服务器端开发
3. 人工智能
4. 网络工具
5. 游戏开发
6. 嵌入式领域
7. 数字图像处理
8. 分布式应用
9. 移动设备
下面进入到c++知识的梳理啦!
命名空间
定义命名空间,需要用到namespace关键字,命名空间的作用是避免命名冲突。
例:namespace a1
{
int a=1;
}
①普通的命名空间,命名空间中的内容既可以是变量,又可以是函数
②命名空间可以嵌套定义
③命名空间可以分段定义,同属一个命名空间,编译器会将它们合成在同一个命名空间
命名空间的使用有三种方式:
①命名空间名称及作用域限定符 例a1::a
②using+命名空间+作用域限定符::成员 例 using a1::a
③using+namespace+命名空间 例 using namespace a1
第三种方式不建议使用,会造成命名空间污染,命名冲突
c++的输入与输出
c++的输入是cin,c++的输出是cout。当需要使用这两个时,需要包含相应的头文件iostream。cin和cout是std这个命名空间中的。
使用方法std::cout<<a;是将a输出到控制台。
cout<<a<<"\n"<<c<<"\n";从左往右进行输出,\n等价于endl
cin>>a 输入到a中
可以连续输入输出,不需指定输入输出格式。
缺省参数
缺省参数是在函数声明或定义时为函数的参数指定一个默认值。在调用该函数时,如果没有定义实参,则采用该默认值,否则使用指定的实参。
例void fun2(int a=100){}
缺省参数又分为全缺省和半缺省
全缺省:所有形参都有缺省值 半缺省:部分形参有缺省值
1.半缺省参数必须从右向左依次连续赋值,不能间隔着给
2.缺省参数不能在函数声明和定义时同时出现
3.缺省值必须是全局变量或常量
函数重载
c++允许在同一作用域生命几个功能类似的参数,c语言不支持函数重载
其特点是函数名相同,参数不同,和返回值无关(不关注返回值)
参数不同包含三种情况:①个数不同②类型不同③顺序不同
linux对于函数名字的修饰 例如果定义了函数double add(double a,double b),其在底层的修饰规则是_z3adddd,3为函数名字的字符个数,add后的dd是类型首字母的简写
*c++为什么支持函数重载?*c++支持函数重载的原因是底层的函数名修饰规则不同,函数名修饰规则:底层通过算法把函数名与参数结合,构造出一个底层全局唯一的函数名。
c语言不支持函数重载的原因是其修饰规则是_函数名 例 _add
程序运行的几个步骤:
预处理:头文件展开,宏替换,去注释,条件编译
编译:语法语义检查,转成汇编代码 .s后缀
汇编:把汇编代码转成机器码 .obj
链接:链接所有机器码,生成一个可执行文件 .exe
extern "c"
在函数名前加extern "c"会按c语言的方式编译,一般用在c/c++混合编程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。