C++语⾔简介
C++语⾔的发展简史
C++是由贝尔实验室1979年在C语⾔的基础上开发成功的。C++兼容C语⾔,⽤C语⾔写的程序基本上可以不加修改地⽤于C++
C++对C的“增强”表现在两个⽅⾯:
(1)在原来⾯向过程的机制基础上,增强了C语⾔对类型的处理。
(2)增加了⾯向对象的机制。
C++语⾔是⼀种编译式的、通⽤的、⼤⼩写敏感的编程语⾔,完全⽀持⾯向对象的开发模式。
C++语⾔的特点
⼀、基本的输⼊/输出
在C语⾔中,标准的键盘输⼊和屏幕输出功能分别使⽤scanf()和printf()两个函数实现。
在C++语⾔中,类库中提供了输⼊流类istream和输出流类ostream。cin和cout分别是istream类和ostream类的对象,⽤来实现基本的键盘输⼊和屏幕输出。
说明:
①标准输⼊:cin>>变量1>>变量2>>…>>变量n;
②标准输出:cout<<;表达式1<<;表达式2<<…<<;表达式n;
③使⽤标准输⼊cin及标准输出cout前,要在程序的最前
⾯包含:
#include <iostream>    //包含头⽂件:输⼊输出流
using namespace std;//使⽤命名空间
④换⾏操作:⽤语句cout<<endl;或cout<< “\n”;
⑤当连续从键盘读取想要的数据时,以空格、制表符〈Tab〉键或〈Enter〉键作为分隔符。如果第⼀个字符是空格、〈Tab〉键或〈Enter〉键,则cin会将其忽略并清除掉,继续读取下⼀个字符。
⑥⽤户⾃⼰定义的类型的数据,不能直接⽤“>>”和“<<”进⼊输⼊/输出,必须对“>>”和“<<”进⾏运算符重载后才可以使⽤。
指针变量的定义格式
⼆、头⽂件和命名空间
头⽂件
前⾯例题中#include <iostream>
每个C++程序由头⽂件和定义⽂件组成。头⽂件作为⼀种包含功能函数、数据接⼝声明的载体⽂件,
主要⽤于保存程序的声明,⽽定义⽂件⽤于保存程序的实现。
头⽂件是⽤户应⽤程序和函数库之间的桥梁和纽带。编译时,编译器通过头⽂件到对应的函数库,进⽽把已引⽤函数的实际内容导出来代替原有函数,然后再进⾏翻译。
常⽤的头⽂件:
标准输⼊输出流:<iostream>
标准⽂件流:<fstream>
标准字符串处理函数:<string>
标准数学函数:<cmath>
除了可以使⽤系统提供的头⽂件外,程序员还可以定义⾃⼰的头⽂件。
命名空间
⼀个⼤型的程序不同模块中出现的标识符之间有可能发⽣重名现象,这就会引发错误。C++中为了避免名字定义
冲突,特别引⼊了“命名空间”的定义,即namespace。命名空间的作⽤是为了消除同名引起的歧义。
在程序中使⽤标准程序库中的标识符时,要写语句 using namespace std."
三、强制类型转换运算符
当不同类型的量进⾏混合算术运算时,系统⾃动进⾏合理的类型转换,也可以强制转换类型。
1.将⼀种数据类型转换成另⼀种数据类型
stati_cast<;类型名>(表达式)
说明: stati_cast----可以省略不写
oneint2=static_cast<int>(oneDouble);
oneint2=int(oneDouble);
oneint2= (int) oneDouble;//圆括号
one int22=oneDouble  //⾃动类型转换
2. const_cast<;类型名>(表达式)
功能:将常量指针转化成⾮常量的指针,并且仍然指问原来的对象;或是将常量引⽤转换成⾮常量的引⽤,并且仍然指向原来的对象。
例:int a=10,*q; const int ca=30;
const int*p=&a; //不能使⽤常量指针p修改a的值
q=const_cast<int *>(p)//不能q=p
*q=20    //变量a的值变为20,不能形成*p=20
p=&ca;//ca的值不能修改
q=const_cast<int *>(p)  //不能q=p
*q=40    //*q的值为40,*p的值变成40
//变量ca的仍然是30
四、函数参数的默认值
C++语⾔规定,定义函数时,只能为函数最后⾯的连续若⼲个参数设置默认值,且在调⽤处也只能缺省后⾯的连续若⼲个实参。例:判断以下函数声明正确与否  //注意不是定义
void df1(inta=2, double=3.0);//正确
void df2(inta, double=3.0);//正确
void df3(int a=2, double b);
void1(inta,intb=2,intc=3);//正确
void f2(int a=1, int b, int c=3):
void f3(int a=1, int b=2, int c):
C++语⾔规定,在函数调⽤处只能缺省后⾯的连续若⼲个实参,⽽且所有缺省的实参必须已经有默认值。
例:函数调⽤⽰例
函数声明: void func(int a,int b=2,int c=3)
函数调⽤: func(1,22,33)
func;//错误
func(10,20);
func(5,,9)://错误
C++语⾔规定,指定默认值时不仅可以⽤常数,还可以⽤任何有定义的表达式作为参数的默认值。
例:假设给出如下的函数及变量声明:
int Max(int m, int n)
int a, b:
void func2(int x, int y=Max(a, b), int z=a-b)
{······}
调⽤  func2(4);等价于func2(4,MAX(a,b),a-b);
func2(4,9);等价于func2(4,9,a-b);
func2(4,,10);错误
注意:函数参数的默认值可以写在声明函数的地⽅,也可以写在定义函数的地⽅,但不能在两个地⽅都写。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。