《面向对象程序设计》考试大纲

合集下载

西南大学2018年秋季[0837]《面向对象程序设计》

西南大学2018年秋季[0837]《面向对象程序设计》

0837 20182单项选择题1、下列合法的JAVA标识符是(). B. +void. F. _black. -5.12class2、关于constructor,下列描述正确的是().class中的constructor不可省略.constructor在一个对象被new时执行.一个class只能定义一个constructor.constructor必须与class同名,但方法不能与class同名3、以下哪个方法用于定义线程的执行体?(). C. run().main().start().init()4、在JAVA程序中要使用一个变量,以下描述不正确的是().在JAVA程序中要使用一个变量,必须先对其进行声明.局部变量在使用之前可以不初始化,系统使用默认的初始值.变量不可以在其作用域之外使用.变量声明语句可以在程序的任何地方,只要在变量使用前就可以5、关于abstract(抽象),下列描述正确的是().声明抽象方法,大括号{ }可有可无.声明抽象方法不可写出大括号{ }.abstract修饰符可修饰字段、方法和类.抽象方法的body部分必须用一对大括号{ }包住6、方法resume()负责恢复以下哪类线程的执行?XXXX.通过调用stop()方法而停止的线程.通过调用sleep()方法而停止的线程.通过调用wait()方法而停止的线程.通过调用suspend()方法而停止的线程7、以下哪个赋值语句是不合法的?().double b = 2.0;.int c = 2;.long d = 2;.float a = 2.0;8、方法resume()负责恢复以下哪类线程的执行?().通过调用stop()方法而停止的线程.通过调用sleep()方法而停止的线程.通过调用suspend()方法而停止的线程.通过调用wait()方法而停止的线程9、欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的代码是().ArraylList myList = new List();.ArrayList myList = new Object();.List myList = new List();.List myList = new ArrayList();10、以下哪个修饰符可用于定义成员常量?().static.final.abstract.No modifier can be used11、关于异常(Exception),下列描述错误的是(). A. 异常可以随便处理,而不是抛给外层的程序进行处理.如果某异常继承RuntimeException,则该异常可以不被声明.异常的基类为Exception,所有异常都必须直接或者间接继承它.异常可以用try{ . . .} catch(Exception e) { . . .}来捕获并进行处理12、执行完以下代码int[ ] x = new int[25];后,以下描述正确的是().x[25]为0.x[24]未定义.x[0]为空.x[24]为013、下列关于修饰符的描述,错误的是().abstract不能与final并列修饰同一个类.abstract类中可以有private的成员。

面向对象程序设计考试复习资料

面向对象程序设计考试复习资料

面向对象程序设计1. 代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果为编译失败,static用来修饰全局变量,不能修饰局部变量2. 下面的程序中,temp的最终值是1long temp=(int)3.9;temp%=2;3.在J2EE中属于Web层的组件有:Servlet4. 派生类中的成员不能直接访问基类中的private成员。

5.以public修饰的类如:public class Car{…}则Car可被其它程序包中的类使用6.paint( )方法使用 Graphics 类型的参数7. 下面数据插入语言(DIL)不属于SQL语句的子类8. 实现运行时的多态性要使用虚函数。

9. 创建对象时构造函数被调用10. 如下代码:class Base {Base() { System.out.print(“Base”); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha();-----调用父类无参的构造方法new Base();}}结果是BaseBase。

11.如果希望控件在界面上按表格行分列排列,应使用GridLayout布局管理器12. 声明抽象方法不可写出大括号叙述正确13. 线程交互中不提倡使用stop()方法14.当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象以 FileInputStream 对象为参数15.jsp指令中isELIgnored="boolean"的意思是决定是否支持EL表示。

面向对象程序设计试题(一)

面向对象程序设计试题(一)

一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.一个函数功能不太复杂,但要求被频繁调用,选用()A.内联函数B.重载函数C.递归函数D.嵌套函数2.C++的继承性允许派生类继承基类的()A.部分特性,并允许增加新的特性或重定义基类的特性B.部分特性,但不允许增加新的特性或重定义基类的特性C.所有特性,并允许增加新的特性或重定义基类的特性D.所有特性,但不允许增加新的特性或重定义基类的特性3.在C++中,封装是借助什么达到的?()A.结构B.类C.数组D.函数4.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()A.自己所属类、对象成员所属类、基类的构造函数B.对象成员所属类、基类、自己所属类的构造函数C.基类、对象成员所属类、自己所属类的构造函数D.基类、自己所属类、对象成员所属类的构造函数5.类的析构函数是对一个对象进行以下哪种操作时自动调用的?()A.建立B.撤消C.赋值D.引用6.下列不是..描述类的成员函数的是()A.构造函数B.析构函数C.友元函数D.拷贝构造函数7.所有在函数中定义的变量,连同形式参数,都属于()A.全局变量B.局部变量C.静态变量D.寄存器变量8.假定AB为一个类,则执行AB x;语句时将自动调用该类的()A.有参构造函数B.无参构造函数1 / 10C.拷贝构造函数D.赋值构造函数9.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()A.x.a B.x.a()C.x->a D.x->a()10.对于任一个类,用户所能定义的构造函数的个数至多为()A.0 B.1C.2 D.任意个二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

《面向对象程序设计》教学大纲

《面向对象程序设计》教学大纲

《面向对象程序设计》教学大纲面向对象程序设计(Object-Oriented Programming,OOP)是一种计算机编程的范式,它以对象作为程序的基本单元,通过封装、继承和多态等机制来组织和管理代码。

面向对象程序设计的方法论和技术在软件开发领域中得到广泛应用,是培养学生计算机编程能力和软件开发思维的重要环节。

本文介绍《面向对象程序设计》的教学大纲。

一、课程目标和学习要求1.目标:本课程旨在培养学生具备面向对象程序设计的思维方式和技术,能够熟练运用面向对象的编程语言进行软件开发和问题解决。

2.学习要求:(1)了解面向对象程序设计的概念和基本原则;(2)掌握面向对象编程语言的基本语法和常用类库;(3)能够设计和实现简单的面向对象程序;(4)具备分析和解决问题的能力,并能将问题抽象为面向对象的模型;(5)了解面向对象程序设计的发展和应用领域。

二、教学内容与学时安排1.面向对象程序设计概述(2学时)(1)面向对象的基本概念;(2)面向对象与面向过程的对比;(3)面向对象的优势和局限性。

2.面向对象编程语言概述(4学时)(1)常见的面向对象编程语言;(2)面向对象编程语言的特点和发展历程;(3)选择合适的面向对象编程语言的原则和方法。

3.类和对象(8学时)(1)类的概念和特点;(2)封装、继承和多态的基本概念和实现方式;(3)类和对象的关系;(4)类的设计原则和实践。

4.类和对象的实现(10学时)(1)类和对象的成员变量和成员函数;(2)构造函数和析构函数的作用和使用方法;(3)静态成员和静态方法;(4)访问控制修饰符的使用。

5.继承和多态(10学时)(1)继承的概念和实现方式;(2)派生类和基类的关系;(3)多态的概念和实现方式;(4)虚函数和纯虚函数的作用和使用方法;(5)多态的实现原理和使用场景。

6.异常处理(6学时)(1)异常的概念和处理方式;(2)异常处理的语法和机制;(3)异常处理的设计原则和实践。

何冰-面向对象程序设计-复习题(带部分复习资料)

何冰-面向对象程序设计-复习题(带部分复习资料)

、单项选择题1引入内联函数的主要目的是A)缩短程序代码,少占用内存空间B.既可以保证程序的可读性,又能提高程序的运行效率C)提高程序的执行速度D)使程序的结构比较清晰2重载函数是A)以函数参数来区分,而不用函数的返回值来区分不同的函数B.以函数的返回值来区分,而不用函数参数来区分不同的函数C)参数表完全相同而返回值类型不同的两个或多个同名函数D)参数表和返回值类型都必须是不同的两个或多个同名函数3有函数原型void fun2 (int *), 下面选项中,正确的调用是A)double x = 2.17; fun2 (&x); C) int a = 15; fun2 (a*3.14);B) int b = 100; fun2 (& b); D) fun2 (256);4在C++中,要实现动态联编,必须使用()调用虚函数。

A)类名B)派生类指针C)对象名D)基类指针5在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是A)派生类的对象可以直接访问基类中的所有成员B)派生类的对象可以初始化基类的引用C)派生类的对象可以赋给基类的对象D)派生类的对象的地址可以赋给指向基类的指针6设置虚基类的目的是A)消除两义性B)简化程序C)提高运行效率D)减少目标代码7关于构造函数,以下说法错误的是A)构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。

在对象创建时由系统自动调用。

B)基类的构造函数可以被派生类所继承。

C)如果程序中未声明,则系统自动产生出一个缺省形式的构造函数。

D)允许为内联函数、重载函数、带缺省形参值的函数。

8下列关于C++函数的说明中,正确的是A)内联函数就是定义在另一个函数体内部的函数B)函数体的最后一条语句必须是return语句C)标准C++要求在调用一个函数之前,必须先声明其原型D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式9由于常对象不能被更新,因此A) 通过常对象只能调用它的常成员函数B) 通过常对象只能调用静态成员函数C) 常对象的成员都是常成员D) 通过常对象可以调用任何不改变对象值的成员函数10下列关于虚函数的说明中,正确的是A)从虚基类继承的函数都是虚函数B)虚函数不得是静态成员函数C)只能通过指针或引用调用虚函数D)抽象类中的成员函数都是虚函数11运算符重载是对已有的运算符赋予多重含义,因此A) 可以对基本类型(如int类型)的数据,重新定义“ + 运算符的含义B) 可以改变一个已有运算符的优先级和操作数个数C) 只能重载C++中已经有的运算符,不能定义新运算符D) C++中已经有的所有运算符都可以重载12模板对类型的参数化提供了很好的支持,因此A) 类模板的主要作用是生成抽象类B) 类模板实例化时,编译器将根据给出的模板实参生成一个类C) 在类模板中的数据成员都具有同样类型D) 类模板中的成员函数都没有返回值13下列符号中可以用作C++标识符的是A)_radius B)foo~bar C)else D)3room 14下列语句中,错误的是A)c onst int buffer=256; B)c onst int temp;C)const double *po int; D)const double *rt =new double(5.5);15有如下程序:int x=3;do{x -= 2;cout«x;}while(!(--x));执行这个程序的输出结果是A) 1 B) 3 0C) l-2 D)死循环16有如下程序:#in clude <iostream>using n amespace std;int mai n(){int *p;*p = 9;cout<<"The value at p:"«*p; return 0;}编译运行程序将出现的情况是A) 够编译时出现语法错误,不能生成可执行文件B) 运行时一定输出:The value at p: 9C) 运行时一定输出:The value at p: *9D) 运行时有可能出错17有如下程序:#i nclude <iostream>using n amespace std;int mai n(){void fun cti on( double val);double val;function( val);cout«val;return 0;}void fun cti on( double val){val = 3;}编译运行这个程序将出现的情况是A)编译出错,无法运行B)输出:3C)输出:3.0 D)输出一个不确定的数18有如下类定义:class AA{int a;public:int getRef() const{return &a;} // ①int getValue() con st{return a;} // ②void set(i nt n) con st{a=n;} // ③frie nd void show(AA aa) const {cout<<aa; } // ④ }; 其中的四个函数定义中正确的是A)①B)②C)③D)④19有如下程序:#in clude <iostream>using n amespace stdclass Base{public:void fun() {cout<v"Base::fu n"v<e ndl;};class Derived:public Base{public:void fun(){cout<<"Derived::f un"«en dl;}};int mai n(){Derived d;d.fu n();return 0;}已知其执行后的输出结果为:Base::fu nDerived::fu n则程序中下划线处应填入的语句是A) Base.fu n(); B)Base::fu n() C)Base->fu n() D)fu n(); 20下面是重载为非成员函数的运算符函数原型,其中错误的是A) Fracti on operator + (Fracti on, Fract ion);B) Fractio n operator - (Fracti on);C) Fract ion& operator = (Fracti on&, Fract ion);D) Fract ion& operator += (Fract ion&, Fract ion);21有如下类定义:class Foo{public:Foo(int v):value(v){} // ①~Foo(){} // ②private:Foo(){} // ③in t value = 0; 〃④};其中存在语法错误的行是A)①B)②C)③D)④22有如下类定义:class Point{int x_, y_;public:Poi nt():x_(0), y_(0){}Poi nt(i nt x, i nt y = 0):x_(x),y_(y){}};若执行语句Point a(2), b[3], *c[4];则Point类的构造函数被调用的次数是A)2次B)3次C)4次D)5次23有如下程序:#i nclude <iostream>using n amespace std;class A{public:A(){cout«"A";}~A(){cout«"~A";}};class B:public A{A* p;public:B(){cout<<"B"; p = new A();} ~B(){cout<<"~B"; delete p;} };int mai n(){B obj; return 0;}执行这个程序的输出结果是A)BAA~A~B~A B)ABA~B~A~AC)BAA~B~A~A D)ABA~A~B~A24有如下程序:#i nclude <iostream>using n amespace std;class Base{private:void fun 1() con st{cout«"fu nl";}protected:void fun 2() con st{cout<<"fu n2";} public:void fun 3() con st{cout<<"fu n3";}};class Derived:protected Base{public:void fun4() con st{cout<<"fu n4";}};int mai n(){Derived obj;obj.fu nl (); // ①obj.fu n2(); // ②obj.fu n3(); // ③obj.fu n4(); // ④return 0;}其中有语法错误的语句是A)①②③④B)①②③C)②③④D)①④ 25有如下程序:#i nclude <iostream>using n amespace std;class Base{public:void fun l(){cout«"Base "<<e ndl;}virtual void fun 2(){cout<<"Base"<<e ndl; } };class Derived:public Base{public:void fun l(){cout<v"Derived"v<e ndl;}void fun 2(){cout<<"Derived"<<e ndl;}};void f(Base & b){b.fu nl();b.fu n2();}int mai n(){Derived obj;f(obj);return 0;}执行这个程序的输出结果是A)Base B)BaseC)Derived D)DerivedBasQerived Base Derived26有如下类声明:class SAMPLE{int n;public:SAMPLE (int i = 0): n (i){}void setValue(i nt nO);};下列关于setValue成员函数的实现中,正确的是A) SAMPLE::setValue(i nt n 0){n = n0;}B) void SAMPLE::setValue(i nt n 0){n = n0;}C) void setValue(i nt n 0){n = n0;}D) setValue(i nt n 0){n = n0;}27 •下列函数模板的定义中,合法的是( )。

《Java面向对象程序设计》考试卷及答案带注释

《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。

CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。

CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。

0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。

Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。

逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。

010_966_程序设计(含面向对象)

010_966_程序设计(含面向对象)

湖南师范大学硕士研究生入学考试自命题考试大纲考试科目代码:[966] 考试科目名称:程序设计(含面向对象)一、试卷结构1) 试卷成绩及考试时间本试卷满分为150分,考试时间为180分钟。

2) 答题方式:闭卷、笔试3) 试卷内容结构C语言部分80% C++部分20%4) 题型结构a: 单项选择题,40分b: 填空题,30分c: 简答题,30分e: 问题求解:20分f: 程序设计:30分二、考试内容与考试要求(一)C语言部分1、C语言概述考试内容(1)算法的基本概念。

(2)C语言程序的结构。

(3)C语言程序的执行步骤。

考试要求了解和熟悉C语言算法的基本概念,掌握C语言程序的结构,熟练运用C 语言程序的执行步骤和方法。

2、数据类型、运算符与表达式考试内容(1)变量和常量的定义与使用方法。

(2)数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。

(3)整型、实型、字符型数据的定义、存储、表示范围及运用。

(4)变量赋初值。

(5)不同类型数据间的转换与运算。

(6)算术运算符、赋值运算符、逗号运算符及其表达式的运用。

考试要求熟悉数据类型、运算符与表达式,并能熟练运用。

3、简单的C程序设计考试内容(1)表达式语句,空语句,复合语句。

(2)C语言程序的三种基本结构。

(3)赋值语句的含义和用法。

(4)C语言输入输出函数的基本格式和功能。

考试要求熟悉简单的C程序设计,掌握C语言程序的三种基本结构,并能熟练运用输入输出函数的基本格式和功能。

4、逻辑运算和判断选取控制考试内容(1)关系运算符、逻辑运算符及其表达式的运用。

(2)用if语句实现选择结构。

(3)用switch语句实现多分支选择结构。

(4)选择结构的嵌套。

考试要求熟悉关系运算符、逻辑运算符及其表达式的运用,掌握条件语句的应用方法,熟悉选择结构的嵌套。

5、循环控制(1)for 循环结构。

(2)while和do while循环结构。

(3)continue语句和break语句。

面向对象程序设计 复习资料2

面向对象程序设计  复习资料2

面向对象程序设计复习资料(一)单项选择题1.Java是一门()语言。

A. 机器B. 汇编C. 面向过程的高级D. 面向对象的高级2. 具有相同属性和服务的一组对象的共同模板称为()。

A. 程序B. 类C. 代码D. 概念3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。

A. privateB. protectedC. publicD. static4.Java语言中的switch语句属于()语句。

A. 数据输入B. 数据输出C. 分支处理D. 循环控制5.在类的定义中,实现接口的子句所使用的关键字为()。

A. extendsB. implementsC. publicD. abstract6.在派生类的定义中,继承父类的子句所使用的关键字为()。

A. extendsB. implementsC. publicD. abstract7.下列能表示栈(stack)s1长度的是( )。

A.s1.length()B.s1.lengthC.s1.sizeD.s1.size()8.下面的异常()为文件没有找到异常。

A. NullPointerExceptionB. FileNotFoundExceptionC. ArrayIndexOutOfBoundsExceptionD. IOException9.下列不是InputStream 类的子类的是()。

A. FileInputStreamB. ObjectInputStreamC、 FileOutputStream D. DataInputStream10.进行文件输入输出操作时,最常用的系统包是()。

A. B. java.ioC. java.utilD. java.awt11.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

A. 产品B. 元素C. 成分D. 实例12.使用JDK运行Java程序时使用的命令是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》考试大纲一、课程的性质与设置目的(一)课程性质和特点使用面向对象程序设计的思想和方法进行系统设计和编程,从根本上解决了从现实世界的问题空间到计算机解空间的直接映射,使所设计的系统能更加准确地模拟现实世界;同时面向对象的系统从程序的结构、运行机制上保证了程序的安全性,灵活性;大大提高了程序码段的复用性,易维护性和易扩展性。

因此,面向对象程序设计已经取代了面向过程程序设计成为当前程序设计(特别是复杂大系统的设计、编程)的主流方法。

本课程属于面向对象程序设计的基础课。

通过全面、系统地介绍面向对象程序设计的基本概念、分析方法、设计方法、基本语法和编程方法;详尽地讲述C++语言面向对象的基本特性,其内容包括类、对象、派生类、继承、多态性、虚函数、模板、流类库、异常处理和STL简介等;从而使学生能深刻理解和领会面向对象程序设计的特点和风格,类的封装性、继承性和多态性与程序的安全性、结构性和灵活多样性之间的关系,达到掌握其设计方法和编程基础的目的,并为后续课程(例如,“面向对象(使用MFC)的Windows程序设计”、“软件工程”等)打下基础。

(二)本课程的基本要求通过本课程的学习,应达到知识和技能两方面的目标:知识方面:1.面向对象程序设计的思想和方法;2.类和对象的概念与抽象和实例之间的关系;3.类的封装性、继承性、多态性概念以及它们与程序的安全性、结构性和灵活多样性之间的关系;4.类属和模板的概念与软件模块的通用性的关系。

技能方面:1.初步掌握从需求分析、程序设计到程序编码的面向对象方法;2.熟练掌握类的封装性、继承性、多态性的实现方法;3.学会使用C++编程环境编制面向对象的程序;5.了解使用MFC创建的Windows程序的方法。

(三)本课程与相关课程的联系本课程的先修课程包括高级语言程序设计、数据结构,后继课程有windows编程、Java 编程等。

它们之间的关系是:1、数据结构中的抽象数据类型概念能帮助学生学习面向对象程序设计中涉及的继承、多态等内容。

2、面向对象程序设计的学习需要一门高级程序设计语言作为知识的铺垫。

3、本课程学习的面向对象程序设计的思想和基础概念帮助学生学习后继课程windows编程和Java编程。

二、课程内容与考核目标第一章面向对象程序设计概述(一)课程内容1.什麽是面向对象(Object Oriented);2.什麽是面向对象程序设计(Object Oriented Programming);3.面向对象的基本概念(对象、消息和类);4.面向对象系统的的主要特性(数据的抽象与封装、继承性、多态性);5.用面向对象方法建立概念模型和面向对象设计技术;6.软件= OOP + DB。

(二)学习的目的与要求初步建立面向对象程序设计的思想和概念。

(三)考核的知识点与考核要求1.面向对象程序设计的思想、设计范型、设计方法和实现语言(要求理解和领会)2.面向对象的基本概念(要求掌握和识记)2.1 对象的基本概念(对象的属性、行为和状态)2.2 消息的基本概念(消息的定义、种类和消息序列)2.3 类的基本概念(类的定义、与对象的关系)3.面向对象系统的特性(要求掌握和识记)3.1 封装性(封装的概念、实现和作用)3.2 继承性(继承的概念、分类、与封装和委托的关系)3.3 多态性(重载、虚函数和抽象类的概念)4.面向对象分析的概念模型和概念模型的建立方法(类图和CDL描述)(要求理解和领会)5.面向对象设计技术(软件生命周期和一般设计方法)(要求理解和领会)6.面向对象的数据库应用程序设计(OOP+DB)与面向对象的数据库的概念(要求理解和领会)第二章 C++概述(一)课程内容1.标准输入/输出流(cin和cout)和输入/输出运算符(>>和<<);2.const和内置(联)函数inline;3.函数重载;4.作用域运算符(::);5.new和delete;6.引用。

(二)学习的目的与要求掌握C++与C的不同点,为编写面向对象的C++程序打下基础。

(三)考核的知识点与考核要求1.输入流cin和输出流cout(要求掌握和综合应用)1.1 输入运算符>>和cin.get、cin.getline的使用1.2 输出运算符<<的使用1.3 输入和输出的格式控制1.4 >>和<<与scanf和printf的差异2.const的使用(要求掌握和综合应用)2.1 使用const取代#define定义常量2.2 const的其他应用(只读参数的声明、只读函数的声明和定义)3.内置inline函数的定义以及与宏定义的比较(要求掌握和识记)4.函数重载的概念和重载方法(要求掌握和识记)5.new和delete运算符(要求掌握和综合应用)4.1 new和delete的应用4.2 new和delete与malloc和free函数的比较6.引用(要求掌握和综合应用)6.1 引用的概念和应用(引用变量定义及初始化)6.2 引用作函数的参数6.3 返回引用的函数6.4 引用与指针的比较第三章类和对象及其封装性(教材第7、8章)(一) 课程内容1.类和对象的概念,相互关系和定义方法;2.构造函数和析构函数;3.静态数据成员和静态成员函数;4.对象指针;5.对象参数;6.对象成员;7.友元、友元函数和友元类。

(二) 学习的目的与要求掌握类和对象的概念、定义、使用和相互关系;类的封装性和友元的作用。

(三)考核的知识点与考核要求1.类的构成(要求掌握和综合应用)1.1 类的定义(C++类的定义)1.2 类的成员(私有成员和公有成员)1.3 类成员函数的作用和定义方法1.4 类构造函数和析构函数1.4.1 构造函数的一般概念和定义1.4.2 参数化的构造函数1.4.3 带缺省参数的构造函数1.4.4 多构造函数1.4.5 拷贝构造函数1.4.6 析构函数的一般概念和定义1.5 静态数据成员的定义,初始化和作用1.6 静态成员函数的定义和作用2.类的应用(要求掌握和综合应用)2.1 类对象的创建(定义)2.2 类对象数据成员的访问和成员函数的调用2.3 this指针和名字解析2.4 静态数据成员的访问2.5 静态成员函数的调用2.6 类的内嵌对象成员2.7 类对象数组3.友元(要求掌握和综合应用)3.1 友元的作用和定义3.2 友元的种类3.2.1 友元函数3.2.2 友元成员3.2.3 友元类3.3 友元的应用第四章编译多态性(重载)(教材第9章)(一)课程内容1.静态多态性的概念和重要性;2.函数重载的概念和实现方法;3.运算符重载的概念和实现方法(成员运算符、友元运算符的实现方法和两种运算符重载的异同点);4.几种重要的运算符++、--、=、()、[ ]、new、delete的重载;5.类型转换和类类型转换函数(运算符)。

(二)学习的目的与要求深刻理解多态性的概念,熟练掌握实现静态多态性的方法。

(三)考核的知识点与考核要求1.多态性的概念(要求掌握和识记)1.1 编译时的多态性——函数重载和运算符重载2.函数重载(要求掌握和综合应用)2.1 构造函数的重载2.2 类成员函数的重载2.3 类外一般函数的重载3.运算符重载(要求掌握和综合应用)3.1 使用成员函数重载运算符3.2 使用友元函数重载运算符3.3 两种运算符重载的比较3.4 几种重要的运算符重载(++、--、[]、()、new、delete、=)4.类型转换(要求掌握和综合应用)4.1 一般数据类型间的类型转换4.2 通过构造函数进行类类型转换(隐含转换和防止隐含转换)4.3 类类型转换函数第五章派生类与继承(教材第11章)(一)课程内容1.为什麽使用继承;2.单一继承的概念和派生类的构造和使用;3.多重继承的概念和派生类的构造和使用;4.派生类的构造函数和析构函数;5.派生类中的基类成员的访问权限;6.虚基类的概念、构造和使用。

(二)学习的目的与要求深刻理解类的继承概念,熟练掌握类的派生方法。

(三)考核的知识点与考核要求1.派生类的概念1.1 引入继承的必要性(要求理解和领会)1.2 私有、保护、公有方式派生类的定义方法(要求掌握和综合应用)1.3 三种方式的派生类对基类的(私有、保护、公有)成员的访问权(要求掌握和综合应用)1.4 派生类的构造函数和析构函数(要求掌握和综合应用)1.4.1 构造函数和析构函数的定义1.4.1 派生类对象创建中基类和派生类构造函数和析构函数的调用顺序2.派生类对基类成员的继承2.1 如何访问基类的私有成员(要求掌握和综合应用)2.2 通过访问域声明调整私有派生类中基类的保护和公有成员的访问域(要求掌握和识记)3.多继承(要求掌握和识记)4.1 多继承的概念和定义4.2 多继承的构造函数和析构函数的定义和调用顺序4.3 虚基类引入的必要性和定义方法第六章运行多态性(虚函数)(教材第12章)(一)课程内容1.动态多态性的概念和重要性;2.虚函数的概念、实现机制和实现方法;3.纯虚函数及抽象类的概念和实现方法。

(二)学习的目的与要求进一步理解多态性的概念,熟练掌握实现动态多态性的方法。

(三)考核的知识点与考核要求1.多态性的概念(要求掌握和识记)1.1 运行时的多态性——虚函数2.虚函数(要求掌握和综合应用)2.1 对象指针的定义和使用2.2 动态多态性的需要和引入虚函数的必要性2.3 虚函数的定义方法和使用3.抽象类(要求掌握和综合应用)3.1 纯虚函数与抽象类4.2抽象类的使用和纯虚函数多态性的体现第七章类属与模板(教材第13章)(一)课程内容1.类属概念和类属编程;2.模板的概念;3.函数模板与模板函数;4.类模板与模板类。

(二)学习的目的与要求深刻理解类属和模板的概念,掌握模板的使用方法以及函数模板和类模板的定义和使用。

(三)考核的知识点与考核要求1.类属(要求理解和领会)1.1 引入类属编程的必要性1.2 C++的类属表编程1.3 从类属表中导出栈和队列2.模板2.1 模板的概念(要求掌握和识记)2.2 函数模板和模板函数(要求掌握和综合应用)2.3 类模板和模板类(模板实例和模板派生)(要求掌握和综合应用)利用模板工具实现的类属机制实例(栈、队列和数组)(要求掌握和综合应用)第八章 C++的I/O流类库(一)课程内容1.C++的I/O流类库的面向对象实现机理;2.进一步理解和掌握标准输入输出流和输入输出操作;3.用户自定义类型的标准输入输出;4.文件的输入输出。

(二)学习的目的与要求深刻理解C++的I/O流类库的面向对象实现机理,掌握流类库的使用方法。

(三)考核的知识点与考核要求1.C++流类库的概念和结构(streambuf类和ios类及其派生类)(要求理解和领会)2.一般类型数据的输入输出(要求掌握和综合应用)2.1 输入类istream和输出类ostream的定义2.2 输入运算符>>和输出运算符<<的使用2.3 输入输出的格式控制3.用户自定义类型对象的输入输出(要求掌握和综合应用)3.1 输入运算符<<的重载方法和应用3.2 输出运算符>>的重载方法和应用4.文件的输入输出(要求掌握和综合应用)4.1 文件的打开和关闭4.2 文件的读写4.2.1 文本文件的读写4.2.2 二进制文件的读写4.2.3 文件的随机读写三、有关说明与实施要求(一)关子“考核知识点与考核要求”中有关提法的说明在本大纲的“考核要求”中,将各个知识点区分为“识记”、“理解和领会”、“掌握”和“综合应用”四个掌握级别。

相关文档
最新文档