文档介绍:注明:以下及其后续内容部分摘自《Standard C++ Bible》,所有程序代码都在Visual Stdio ,操作系统为WinXP。,只讲解C++语法知识。
    C++和C的共同部分就不讲解了(如 常量和变量,循环语句和循环控制,数组和指针等,这里面的一些区别会在本节和下节介绍一下),具体可看精华区->新手上路->C语言入门,本文着重介绍C++的特点,如类、继承和多重继承、运算符重载、类模板、C++标准库、模板库、等等。
一、C++概述
    (一) 发展历史
    1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是C++语言。
    1985年,C++开始在外面慢慢流行。经过多年的发展,C++已经有了多个版本。为次,ANSI和ISO的联合委员会于1989年着手为C++制定标准。1994年2月,该委员会出版了第一份非正式草案,1998年正式推出了C++的国际标准。
    (二) C和C++
    C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。
    例如C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。
    C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。
    C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。
    标准C++中的字符串类取代了C标准C函数库<cstring>头文件中的字符数组处理函数。
    C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
    C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
二、关键字和变量
    C++相对与C增加了一些关键字,如下:
       typename     bool     dynamic_cast  mutable    namespace
       static_cast  using    catch         explicit   new
       virtual      operator false         private    template
       volatile     const    protected     this       wchar_t
       const_cast   public   throw         friend     true
       reinterpret_cast      try
       bitor        xor_e    and_eq        compl      or_eq
       not_eq       bitand
    在C++中还增加了bool型变量和wchar_t型变量:
    布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。
       #include 
       int main()
       {
           bool flag;
           flag=true;
           if(flag)  cout<<true<<endl;
           return 0;
       }
    C++中还包括wchar_t数据类型,wchar_t也是字符类型,但是是那些宽度超过8位的数据类型。许多外文字符集所含的数目超过256个,char字符类型无法完全囊括。wchar_t数据类型一般为16位。
    标准C++的iostream类库中包括了可以支持宽字符的类和对象。用wout替代cout即可。
       #include