c++复习笔记
c和c++ 的联系。
c几乎是c++的一个子集,c支持的语法在c++中基本都支。cplusplus,在c语言的基础上又有了许多新的特性。
C++的关键字
asm | do | if | return | typedef |
---|---|---|---|---|
auto | double | inline | short | typeid |
bool | dynamic_cast | int | signed | typenamem |
break | else | long | sizeof | union |
case | enum | mutable | static | unsigned |
catch | explicit | namespace | static_cast | using |
char | export | new | struct | virtual |
class | extern | operator | switch | void |
const | false | private | template] | volatile |
const_cast | float | protected | this | wchar_t |
continue | for | public | throw | while |
default | friend | register | true | |
delete | goto | reinterpret_cast | try |
C++的类型
名字空间
名字空间域是随标准C++而引入的。它相当于一个更加灵活的文件域(全局域)。
namespace name1
{
int a = 0;
}
namespace name2
{
int a = 1;
}
name1 :: a = 3;
name2 :: a = 4;
名字空间域解决全局命名冲突的问题。
标准c++库中的所有组件都在一个被称为std的名字空间中生命和定义的.
::是作用域解析符
我们来实现一个简单的C++程序:
#include<iostream>
using namespace std;
int main(){
cout<<"hello world"<<endl;
return 0;
}
cout 是标准输出流对象,<<是输出操作符
cin 是标准输入流对象, <<是输入操作符
endl 是换行操作符
我们知道c语言可以控制输入输出不同的格式C++怎么做的呢?
函数重载
在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可相同可不同。
缺省参数
//全缺省参数
int Add1(int a = 0, int b = 0){
return a + b;
}
//半缺省参数
int Add2(int a, int b = 0){
return a + b;
}
void Test(){
Add1();
Add1(1);
Add1(1,1);
Add2(2);
Add2(2,2);
}