收藏 分销(赏)

实验教学大纲模板(面向对象程序设计).doc

上传人:仙人****88 文档编号:9359063 上传时间:2025-03-23 格式:DOC 页数:31 大小:325.50KB 下载积分:10 金币
下载 相关 举报
实验教学大纲模板(面向对象程序设计).doc_第1页
第1页 / 共31页
实验教学大纲模板(面向对象程序设计).doc_第2页
第2页 / 共31页


点击查看更多>>
资源描述
甘肃政法学院计算机科学与技术专业本科课程实验教学大纲 面向对象程序设计实验 一、《面向对象程序设计》课程实验教学基本要求 面向对象程序设计是一门理论和实践结合及其紧密的学科,因此在课程的教学活动中需要采取多种教学手段与方法,以达到良好的教学效果。面向对象程序设计的实验教学是理论联系实际的重要环节,是理论课堂教学的补充和继续。因此,该课程的实验教学要求学生通过实验课程的学习,完成实验指导书具体规定的各项实验内容,通过实验使学生实现正确和熟练地掌握刑事化验的实验技能和基本操作,提高学生动手能力。 二、实验项目总表 序号 实验项目名称 学时数 项目类别 项目类型 1 Visual Studio集成环境及C++程序的输入、调试和运行 4 演示实验 必做 2 类和对象、继承和派生 6 演示实验 必做 3 多态性和虚函数 6 演示实验 必做 4 运算符重载 6 演示实验 必做 5 STL应用 8 演示实验 必做 三、实验内容 实验一 Visual Studio集成环境及C++程序的输入、调试和运行 (一)实验目的与要求 1.了解和使用VC集成开发环境 2.熟悉VC环境的基本命令和功能键,熟悉常用的功能菜单命令 3.学习使用VC++环境的帮助 4.学习完整的C++程序开发过程 5.理解简单的C++程序结构 (二)实验内容 1.熟悉Visual C++实验环境 2.控制台应用 3. Windows应用 4.编写简单的计算程序 (三)实验器材及设备 1.硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB) 2.软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0 (四)实验步骤与方法 题目1 熟悉Visual C++实验环境 [实验步骤] (1)启动Developer Studio,看看初始化界面由哪些部分组成 (2)查看各菜单项,看看都有哪些子菜单和命令 (3)将鼠标放置于各工具条图标上,系统会自动显示该图标代表的命令含义,了解一下都有哪些命令。 (4)在任意工具条上单击鼠标右键,弹出式菜单上将显示所有可用的工具条,选择其中没有对号(√)的项,看看有什么效果,再选择有对号的项,又有什么效果? (5)将鼠标移动到任意工具条上,将鼠标放到图标间隙,按下鼠标左键不放,移动鼠标到屏幕中间,有什么现象发生?再将它拖回到原来位置,有什么现象发生? (6)将鼠标移动到左边的工作区窗口,按下鼠标左键不放,移动鼠标到屏幕中间,有什么现象发生?再将它拖回到原来位置,有什么现象发生? (7)将鼠标移动到下边的输出窗口,按鼠标右键,弹出一个菜单,选择其中的菜单项”Hide”,结果如何?要重新显示该窗口,选择菜单View|Output,窗口是不是又显示出来了? (8)学习使用帮助系统。如果你用的是Visual C++5.0,则在工作区窗口的InfoView中选择你感兴趣的内容,双击它,在文档区显示具体的帮助信息。如果你用的是Visual C++6.0,选择菜单Help|Contents,启动MSDN联机帮助系统,学习使用该帮助系统。联机帮助系统是一个相对独立的程序,它和Developer Studio是两个程序,但是它的启动和停止都受Developer Studio影响。MSDN联机帮助系统运行的前提条件是Developer Studio在运行。 (9)选File|Exit退出Developer Studio。 题目2 控制台应用 用AppWizard建立一个控制台应用,在终端上输出”Hello”。 术语:“控制台应用程序”是一个在DOS窗口中运行的基于字符的程序。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C++来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C++编程语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。 [实验步骤] 1)创建第一个应用 首先创建一个项目(project),项目将代表你的应用,存放你应用的所有信息,包括源文件、资源文件、编译连接设置等。创建项目的步骤为: (1)启动Developer Studio (2)从主菜单中选择File|New,将显示出New对话框 (3)选择Projects标签,并从列表中单击Win32 Console Application (4)在“Location”编辑框中输入你的工作目录名称,如c:\student\your_name(问你的指导教师) (5)在对话框的右上角的“project name”编辑框内键入项目的名字,如”Hello”,系统将自动为你的项目分配一个默认的目录 (6)单击OK继续 (7)如果是VC 6.0,系统将显示一个询问项目类型的程序向导,选择“an empty project” (8)单击Finish或OK结束配置,创建应用程序 这时系统为你创建一个新的项目,并且在左边的工作区窗口中将出现你项目的名字。工作区窗口除原来的InfoView标签外又增加了两个标签(如果是Visual C++6.0,则没有InfoView标签):ClassView和FileView。ClassView从类的角度显示项目中建立的各个类,双击某个类名将会在右边的文档显示区显示类的定义文件并把文件的当前位置定位到所选的类;FileView显示构成项目的各个文件,选择某一文件将会在右边的文档显示区显示文件内容;InfoView是VC5的帮助文件目录,在这里可以选择所要获取帮助的标题,在右边将显示帮助内容。 2)编辑你的第一个C++源程序 用下面的方法在你创建的项目中添加一个文件: (1)在主菜单上选择File|New (2)在New对话框中选择File标签,单击“C++ Source File” (3)选中Add to Project复选框 (4)在右边的File name编辑框中为文件指定一个名字,如Hello,系统将自动为你加上后缀.cpp。 新的空白文件将自动打开,显示在文档显示区。在文件中输入以下内容(不包括上下两条横线): //hello world example #include <iostream.h> int main() { cout << "hello!"<< endl ; return 0; //正常返回 } 仔细检查你输入的内容,确保内容正确 à[常用编辑命令] 虽然许多编辑命令可以通过菜单和工具栏实现,但大量的编辑命令都可以通过键盘实现。以下命令通常用键盘实现: l 撤消前一次操作。当你进行了一次错误的操作时,可以通过敲击键盘上的Ctrl+Z完成; l 重复前一次操作。通过敲击Ctrl+Y实现 l 剪切一行。用Ctrl+L来删除一行并将它放到剪切板中 l 剪切。将选中的文本删除并将它放到剪切板中,用Ctrl+X实现 l 复制。将选中的文本复制到剪切板中,用Ctrl+C实现 l 粘贴。将剪切板中的内容放到编辑器中文本的当前位置处(由光标指示)。,用Ctrl+V实现 要想了解关于键盘操作命令的完整列表,可以选择Help菜单下的Keyboard Map。你没有必要记住所有的命令,有些根本不常用。 3)保存你的源文件 单击工具栏中的”save”图标,或者选择File|Save来保存你的文件。 C++源文件的扩展名为.cpp。扩展名非常重要,Developer Studio根据文件的扩展名来区分文件类型,并且根据文件类型提供相应的编辑帮助(如正确的语法高亮显示)。 4)编译、连接得到可执行程序 编辑结束后,仔细检查你输入的内容,看有无错误。确认没有错误之后,选择主菜单的Build|Build Hello.exe来编译你的项目(也可以按功能键F7)。如果你输入的内容没有错误,那么,在屏幕下方的输出窗口将会显示: hello.exe –0 error(s), 0 warning(s) 5)如果在编译时得到错误或警告,是你的源文件出现错误,再次检查你的源文件,看是否有错误,改正它。 6)改正源程序中的错误 编译的错误会在Developer Studio的下方的输出窗口显示出来,逐个查看这些错误的内容,用鼠标双击,光标可以自动移动到发生错误的源程序的相应地点,仔细检查你的源程序,改正发生错误的地方,注意是否否遗留了分号、引号或括号等。改正后,再重复步骤4)的操作,直到编译连接通过为止。 7)运行你的第一个程序 你可以有三种方式运行你的程序: l 在开发环境中运行程序 选择Build|Execute hello.exe(或者Ctrl+F5),在开发环境中执行你的程序。程序运行以后将显示一个类似于DOS的窗口,在窗口中输出一行“hello”,紧接着在下面显示“Press any key to continue”,这句话是系统提示你按任意键退出当前运行的程序,回到开发环境中。按任意键,窗口关闭,退回到Visual C++开发环境。我们实验中将用这种方式运行程序。 l 在DOS环境下运行程序 打开DOS窗口,改变工作路径到项目目录,该目录是你在创建目录时指定的。如果你不记得了,可以在Developer Studio中的工作区窗口中选择项目名称(这里是“hello files”),然后选择菜单View|Properties,将可以显示出项目路径。 切换到debug子目录下,运行hello.exe,程序将输出:’hello’。 l 在Windows环境下运行程序 打开Windows的资源管理器,找到程序所在的目录,运行它。你看到的结果是怎样的? 控制台应用补充:指针和引用 请重复以上步骤,调试下面的程序段: #include <iostream.h> void main() { int x,y; x=5; int & refx=x; cout<<"输出x的值和地址:"<<endl; cout<<x<<endl; cout<<&x<<endl; cout<<"输出引用refx的值和地址:"<<endl; cout<<refx<<endl; cout<<&refx<<endl; cout<<"通过引用给x赋值,并输出:"<<endl; refx=6; cout<<x<<endl; cout<<"将y值赋给refx,并输出x,refx,&refx:"<<endl; y=7; refx=y; cout<<x<<endl; cout<<refx<<endl; cout<<&refx<<endl; } 查看引用的地址: 1、编译 连接 后,在int & refx=x; 和 cout<<"输出x的值和地址:"<<endl; 前分别添加断点。 2、build---start debug---go; 在屏幕下方的auto窗口可以看到变量x的值;在watch1窗口的name列分别输入&x和&refx,回车即可看到值,此时&x为0x0012ff7c--编译器分配,&refx为0xcccccccc--随机(编译器还未分配地址)。 3、view--debug window--memory,打开memory窗口,(可以调整窗口宽度以适应值的长度,左右均需调整),可以看到0x0012ff7c地址的值为5。此时,变量refx的自身的地址还不确定,等待分配。 4、向下执行1行,debug--go; 这时,refx的值为5,&refx的值为0x0012ff7c,与 &x相同,当然这只是C++的障眼法而已!--它要让你觉得使用对象的引用和使用对象本身没什么区别。 5、查看refx的地址 由于我们知道,refx是指向x的一个隐形指针,所以在memory窗口的值列寻找0012ff7c,找到后,看其先面的地址为0012FF74,这个就是变量refx的地址。 6、所以引用作为一个变量有自己的地址,只是我们无法访问!! 7、如果汇编语言学得好,可以从反汇编处看看程序的执行. view--debug window--disassembly 打开反汇编窗口. 题目3、Windows应用 用AppWizard建立一个MFC Windows应用,在窗口中输出”Hello,World!” 术语:AppWizard是一个工具,利用该工具,你可以创建一个建立在MFC基础上的窗口应用程序框架,然后在这个框架中加上自己的应用逻辑。你可以选择所创建的应用类型,最常用的是多文档应用(就象你用的字编辑器Microsoft Word一样,可以同时打开多个文档窗口的应用)、单文档应用(类似于Windows提供的notepad,一次只能打开一个文档)和对话框应用(类似于Windows的时钟程序)。 [实验步骤] 1)创建一个新项目 利用Developer Studio的AppWizard创建一个新的项目,步骤为: (1)选择菜单File|New,系统将显示New对话框 (2)选择Projects标签,在显示的项目类型中选择MFC AppWizard(exe) (3)在右边的Project Name编辑框中输入项目名称,如“helloMFC”,然后按OK (4)MFC AppWizard 将分几步询问你有关要建立的新项目的配置。第一个对话框问你是创建哪种类型的应用(单文档、多文档还是对话框类型),选择创建单文档应用“Single document”,然后按Next按钮 (5)翻过后面的五个页面(按Next),每个页面可以让你改变项目的不同选项,这个例子暂时不设置这些选项。 (6)最后一个MFC AppWizard屏幕告诉你App Wizard为你自动产生的类。单击Finish键,AppWizard显示一个关于该项目的摘要,列出这些类和你所选择的特征。如图所示: 单击OK,系统自动产生helloMFC所需要的文件。 2)浏览helloMFC项目 当你用MFC AppWizard创建了helloMFC项目后,这个项目的工作区窗口将会打开,工作区窗口除了原来的InfoView以外(VC5.0),增加了三个标签(如下图):ClassView、ResourceView和FileView,其中ClassView显示工作区中所有项目的类及类的成员;ResourceView显示项目中包含的资源文件;FileView显示项目中的各种文件资源。 你可以先选择FileView看一下AppWizard为你创建了哪些文件,然后选择ClassView看一下定义了哪些类。ClassView中还可以看到一个Globals文件夹,单击它前面的加号,可以看到,有一个预定义的全局变量theApp,这是你的Windows应用程序类的对象。 3)编译连接运行 按F7或者选择菜单Build|Build helloMFC.exe,编译连接得到可执行程序,再按Ctrl+F5或者选择Build|Execute helloMFC.exe运行该程序。程序的结果如下: 4)用MFC处理输出 现在是你来修改程序的时候了。我们希望在程序中间的窗口上显示一行文字“Hello, World” 。如何修改呢? (1)在工作区窗口中选择ClassView标签,单击helloMFC classes前面的加号(如果已经变成减号则不做此操作) (2)单击类CHelloMFCView类前面的加号 (3)双击OnDraw()函数,在右边的文档将显示窗口显示文件helloMFCView的内容,并且自动将光标定位到函数OnDraw()处。 (4)修改OnDraw函数的定义,在最后一行加一句: pDC->TextOut(50,50,"Hello, World"); (5)按Ctrl+s或者选菜单File|Save来保存所作的修改 5)编译连接并运行 重新编译连接该项目,运行程序,你可以用Ctrl+F5直接运行程序,系统将询问你是否重新编译该项目,回答“是(Yes)”,如果有编译错误,仔细检查你加的一句话,是否有错。当编译连接通过后,系统会自动运行该程序。结果与上面有什么不同? 经过上述修改后,程序可以输出一行文字“Hello, World”。这是你实现的第一个Windows程序!是不是很简单?!不要担心有很多不懂的地方,后面的实验中你会慢慢理解。现在你应该会觉得:哦,原来Windows程序的开发这么简单! 题目4、编写简单的计算程序 输入圆的半径,计算圆的周长和面积并输出。 [测试数据] 输入:2 输出: The perimeter of the circle : 12.5664 The area of the circle : 12.5664 输入:10 输出: The perimeter of the circle : 62.8318 The area of the circle : 314.159 [实验步骤] 1) 创建一个控制台项目 选择菜单File|New,在Projects标签下选择Windows32 Console Application,输入项目名称“circle”,然后按OK 2) 在项目中增加一个文件 选择菜单File|New,在Files标签下选择C/C++ Source File,输入文件名称“circle”,然后按OK 3)在文件中输入以下内容 //-------------------------------------------------------------------------------------------------- //该程序让用户输入圆的半径Radius,输出圆的周长Perimeter和面积Area #include <iostream.h> #include <math.h> const double PI = 3.14159; //定义一个常量PI int main() { int radius; double perimeter, area; cout << "Please input the radius: "; cin >> radius; perimeter = 2 * PI * radius; //周长=2πR area = PI * pow(radius, 2); //面积=πR2 cout << "The perimeter of the circle : " << perimeter << endl; cout << "The area of the circle : " << area << endl; return 0; } 注:power(radius,2)表示求radius的平方,power(x, y)是系统预定义的函数,该函数计算x的y次方。该函数的原型在文件math.h中说明。 4)编译、连接并运行程序 如果你输入的程序有误,用下面的方法定位并修改错误。直到编译连接通过。运行程序,测试数据。 à[编译和连接错误定位] l 开发环境下方的输出窗口(Output)显示编译和连接过程中出现的错误,错误信息包括:错误出现的文件名、行号、错误代码。 l 如果不懂错误消息,将光标移动到该错误信息,按F1,就可以显示该错误的帮助信息。 l 在output窗口,双击错误或者选择该错误再按ENTER键,系统自动将光标移动到发生错误的源程序行,你然后就可以改正错误。 F4键可以选择并定位下一个错误 (五)注意事项 1.Visual Studio C++的运行环境 2.程序的Debug调试方法 (六)实验要求 1.熟悉Visual Studio C++的运行环境 2.学习完整的C++程序开发过程 3.学习控制台应用 4.学习Windows应用 实验二 类和对象、继承和派生 (一)实验目的与要宋体加粗小四。 求 1.理解面向对象程序设计方法的基本原理及主要特点——抽象、封装、继承。 2.理解类和对象的概念以及如何利用类来解决具体问题。 3.理解类的继承与派生 4.理解不同继承方式下的基类成员的访问控制 5.理解添加派生类的构造和析构函数的方法 (二)实验内容 1.构造函数和析构函数 2.派生类的构造函数和析构函数 3.观察构造函数和析构函数的执行过程 (三)实验器材及设备 1.硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB) 2.软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0 (四)实验步骤与方法 1.构造函数和析构函数 1.1创建项目的步骤为: 启动Developer Studio 从主菜单中选择File|New,将显示出New对话框 选择Projects标签,并从列表中单击Win32 Console Application (1)在“Location”编辑框中输入你的工作目录名称,如c:\student\your_name(问你的指导教师) (2)在对话框的右上角的“project name”编辑框内键入项目的名字,如”Hello”,系统将自动为你的项目分配一个默认的目录 (3)单击OK继续 (4)如果是VC 6.0,系统将显示一个询问项目类型的程序向导,选择“an empty project” (5)单击Finish或OK结束配置,创建应用程序 1.2构造函数和析构函数的执行 #include <iostream.h> class score { public: score(int x,int y) { sc1=x; sc2=y; cout<<"constructing score : "<<x<<" "<<y<<endl; } ~score() { cout<<"destructing score: "<<sc1<<" "<<sc2<<endl; } protected: int sc1; int sc2; }; class student { public: //student(int id):stusc(88,99) //student(int id):xy(20*id) student(int id):english(55),stusc(88,99) { noid=id; //cout<<"constructing a student,id : "<<noid<<endl; cout<<"constructing a student,id : "<<noid <<" english: "<<english<<endl; } ~student() { cout<<"destructing a student: "<<noid<<endl; } private: int noid; int english; int xy; score stusc; }; void main() { student s1(333); cout<<"back in main"<<endl; } 2.派生类构造函数和析构函数的执行 启动Developer Studio 从主菜单中选择File|New,将显示出New对话框 选择Projects标签,并从列表中单击Win32 Console Application (1)在“Location”编辑框中输入你的工作目录名称,如c:\student\your_name(问你的指导教师) (2)在对话框的右上角的“project name”编辑框内键入项目的名字,如”Hello”,系统将自动为你的项目分配一个默认的目录 (3)单击OK继续 (4)如果是VC 6.0,系统将显示一个询问项目类型的程序向导,选择“an empty project” (5)单击Finish或OK结束配置,创建应用程序 class Person { char m_strName[10]; int m_nAge; public: Person(char* name,int age) { strcpy(m_strName, name); m_nAge = age; cout<<"constructor of person"<<m_strName<<endl; } ~Person() { cout<<"deconstrutor of person"<<m_strName<<endl;} }; class Employee : public Person { char m_strDept[20]; Person Wang; public: Employee(char *name, int age, char *dept, char *name1, int age1) : Person(name,age) , Wang(name1,age1) { strcpy(m_strDept, dept); cout<<"constructor of Employee"<<endl; } ~Employee() { cout<<"deconstrucor of Employee"<<endl; } (五)注意事项 1.观察构造函数和析构函数何时调用 2.基类、派生类的构造函数和析构函数的调用顺序 (六)实验要求 1.掌握面向对象的程序设计思想 2.掌握类的定义。 3.掌握对象的声明和引用。 4.掌握具有不同访问属性的成员的访问方式 5.掌握继承和派生的概念,派生类的定义方法。 6.熟悉继承的不同方式对基类成员的访问控制 7.掌握多重继承的概念、定义方法、多重继承派生类构造函数的执行顺序 ①先执行所有基类的构造函数(顺序按照定义派生类时指定的各基关顺序) ②再执行对象成员所在类的构造函数(顺序按照它们在类中的声明顺序) ③最后执行派生类构造函数体中的内容 (七)思考题 类的三种继承方式的主要区别是什么? 实验三 多态性和虚函数 (一)实验目的与要宋体加粗小四。 求 1.了解多态性的概念 2.了解虚函数的作用和使用方法 3.了解纯虚函数和抽象类的概念和用法 (二)实验内容 1.理解多态性的基本思想 2.学习使用虚函数实现动态多态性 (三)实验器材及设备 1.硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB) 2.软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0 (四)实验步骤与方法 1、多态性编程实例 #include <iostream.h> class chuzhong { public: chuzhong(double x,double y):x1(x),y1(y){} virtual double sum() { double score; score=x1+y1; return score; } protected: double x1,y1; }; class gaozhong :public chuzhong { public: gaozhong(double x,double y,double z):chuzhong(x,y),z1(z){} virtual double sum() { double score; score=x1+y1+z1; return score; } protected: double z1; }; void fn(chuzhong & chu) { cout<<chu.sum()<<endl; } void main() { chuzhong cz(85.5,95.5); gaozhong gz(75.5,78.5,80.5); fn(cz); fn(gz); } (五)注意事项 1.虚函数的定义 2.实现多态性的机制 (六)实验要求 1.掌握多态性的概念 2.掌握虚函数的作用和使用方法 3.掌握纯虚函数和抽象类的概念和用法 4.程序格式规范,程序运行正确 5.认真书写实验报告,如实填写各项实验内容 (七)思考题 虚函数是如何实现多态性的? 实验四 运算符重载 (一)实验目的与要宋体加粗小四。 求 理解运算符重载的概念 (二)实验内容 掌握运算符重载的方法并学会使用 (三)实验器材及设备 1.硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB) 2.软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0 (四)实验步骤与方法 运算符重载程序设计: #include <iostream.h> class Complex { double m_fReal, m_fImag; public: Complex(double r = 0, double i = 0): m_fReal(r), m_fImag(i){} double Real(){return m_fReal;} double Imag(){return m_fImag;} Complex operator +(Complex&); Complex operator +(double); Complex operator =(Complex); }; Complex Complex::operator + (Complex &c)// 重载运算符 + { Complex temp; temp.m_fReal = m_fReal+c.m_fReal; temp.m_fImag = m_fImag+c.m_fImag; return temp; } Complex Complex::operator + (double d) // 重载运算符+ { Complex temp; temp.m_fReal = m_fReal+d; temp.m_fImag = m_fImag; return temp; } Complex Complex::operator = (Complex c) // 重载运算符= { m_fReal = c.m_fReal; m_fImag = c.m_fImag; return *this; } void main() { Complex c1(3,4),c2(5,6),c3; cout << "C1 = " << c1.Real() << "+j" << c1.Imag() << endl; cout << "C2 = " << c2.Real() << "+j" << c2.Imag() << endl; c3 = c1+c2; cout << "C3 = " << c3.Real() << "+j" << c3.Imag() << endl; c3 = c3+6.5; cout << "C3 + 6.5 = " << c3.Real() << "+j" << c3.Imag() << endl; } (五)注意事项 运算符重载的规则 (六)实验要求 掌握运算符重载 (七)思考题 哪些运算符可以重载? 实验五 STL应用 (一)实验目的与要宋体加粗小四。 求 1.理解类模板定义、使用方法 2.vector的用法 3.set的用法 4.map的用法 (二)实验内容 1.vector的用法 2.set的用法 3.map的用法 (三)实验器材及设备 1.硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB) 2.软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0 (四)实验步骤与方法 1.序列式容器 序列式容器中元素的顺序与元素值无关,只与元素插入的先后次序和存放位置有关。STL预先定义好了三种序列式容器,即Vectors(向量)、Deque(双向队列)和List(双向链表)。 STL中的每种序列式容器类都内嵌了一个iterator(迭代器)类,可以由它来定义该容器的iterator。 【例5-1】简单应用 #include <iostream> #include <vector> using namespace std; void main(){ vector<int> intList; int i; intList.push_back(13); //在尾部插入元素13 intList.push_back(75); intList.push_back(28); intList.push_back(35); cout<<"Line 1: List Elements: "; for(i=0;i<4;i++) //遍历向量容器 cout<<intList[i]<<" "; //向量容器可以象数组那样随机访问 cout<<endl; for(i=0;i<4;i++) intList[i] *=2; //向量容器可以象数组那样来访问 cout<<"Line 2: List Elements: "; for(i=0;i<4;i++) cout<<intList[i]<<" "; //向量容器可以象数组那样来访问 cout<<endl; vector<int>::iterator listIt; //声明一个迭代器对象 cout<<"Line 3: list Elements: "; for(listIt=intList.begin();listIt != intList.end();++listIt) //通过迭代器访问向量容器 cout<<*listIt<<" "; cout<<endl; listIt=intList.begin(); ++listIt; ++listIt; intList.insert(listIt,88); cout<<"Line 4: List Elements: "; for(listIt = intList.begin();listIt !=intList.end();++listIt) cout<<*listIt<<" "; cout<<endl; } 运
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服