《C++程序设计》笔记-知识点整理
C++语言语法基础(6)1.从C到C++的过渡2.类和对象3.操作符重载4.继承与多态5.异常和I/O流 数据结构和算法1.基本数据结构,堆栈、队列、链表、二叉树,实现和应用(2)2.排序和查找算法 模板和STL1.模板语法2.STL 阶段项目简化的企业管理信息系统(MIS)-1-第一课从C到C++的过渡 背景介绍算盘-面向硬件的编程电子计算机-机器语言的编程1010-汇编语言的编程ADD-高级语言的编程Fortranprintf("%d",12);-结构化程序设计C/PASCL顺序、分支、循环、函数-面向对象的程序设计C++/Java/C#-面向问题的程序设计1960-Algol60,算法语言,远离硬件,不适合进行系统开发1963-剑桥大学,CPL,在Algol60的基础上增加对系统开发的支持,复杂,不易掌握,不易使用1970-MIT,BCPL,CPL的精华版,易学易用,太慢,不实用1972-KenThomposon,B语言,通过运行时支持优化BCPL的性能,缺少类型1973-DennisRi C++语言的使用领域:1.游戏开发:强建模能力,性能高。2.科学计算:FORTRAN,C++算法库。3.网络和分布式:ACE框架。4.桌面应用:VC/MFC,Office,QQ,多媒体5.操作系统和设备驱动:优化编译器的发明使C++在底层开发方面可以和C向媲美。6.移动终端既需要性能,同时又要有面向对象的建模。 C++比C更丰富1.支持面向对象,将问题域和方法域统一化。宏观面向对象,微观面向过程。2.支持泛型编程。intadd(inta,intb){ }template<typenameT>Tadd(Ta,Tb){ }3.支持异常机制。intfunc(void){ }intmain(void){if(func()==-1){错误处理;}}4.操作符重载 第一个C++程序1.编译器:g++,如果用gcc需要带上-lstdc++,指定其使用标准c++的运行库。2.源文件扩展名:.cpp/.cc/.C/.cxx/.c++,最好用.cpp3.头文件:#include<iostream>大多数标准库头文件都没有.h后缀。4.输出:cout-标准输出对象输入:cin-标准输入对象插入运算符:<<提取运算符:>>5.std:所有标准库的函数、对象、类型都位于std名字空间中。-3- 名字空间1.对程序中的标识符(类型、函数、变量),按照某种逻辑规则划分成若干组。2.定义名字空间namespace名字空间名{名字空间成员;}3.使用名字空间1作用于限定符:名字空间名::名字空间成员,表示访问特定名字空间中的特定成员。例子:#include<iostream>intmain(void){std::cout<<"Hello,World!"<<std::endl;inti;doubled;chars[256];//scanf("%d%lf%s",&i,&d,s);std::cin>>i>>d>>s;//printf("%d%lf%s\n",i,d,s);std::cout<<i< C++中的结构、联合和枚举1.结构和C语言的不同:1)定义结构型变量时,可以省略struct关键字。2)结构内部可以定义函数成员函数。3)sizeof(空结构)->1例子:#include<iostream>usingnamespacestd;structStudent{charname[128];intage;voidwho(void){//成员函数cout<<"我叫"<<name<<",今年"<<age<<"岁了。"<<endl;}};intmain(void){Studentstudent={"张飞",25},*ps=&student;student.who();ps->who();st