南昌大学C++题库

一、单项选择题

1. 在C++语言中,对函数参数默认值描述正确的是:( )

A) 函数参数的默认值只能设定一个

B) 一个函数的参数若有多个,则参数默认值的设定可以不连续

C) 函数参数必须设定默认值

D) 在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值

2. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的( ) 。

A) 有参构造函数 B) 无参构造函数

C) 拷贝构造函数 D) 赋值构造函数

3. 下述关于开关语句的描述中,( )是正确的。

A) 开关语句中default 子句可以没有,也可以有一个;

B) 开关语句中每个语句序列中必须有break 语句;

C) 开关语句中default 子句只能放在最后;

D) 开关语句中case 子句后面的表达式可以是整形表达式。

4. 关于对象概念的描述中,( ) 是错误的。

A) 对象就是C 语言中的结构变量;

B) 对象代表着正在创建的系统中的一个实体;

C) 对象是一个状态和操作(或方法)的封装体;

D) 对象之间的信息传递是通过消息进行的;

5. 下列给字符数组进行初始化中,( )是正确的。

A) char s1[ ]="12345abcd"; B) char s2[3]="xyz";

C) char s3[][3]={ 'a', 'x', 'y'}; D) char s4[2[3]={"xyz","mnp"};

6. 在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是 ( ) 。

A) 3 B) 2 C) 6 D) 4

7. 声明类test 的拷贝构造函数的正确形式是 ( ) 。

A) int test B) void test C) test(void) D) test(test&)

8. 关于new 运算符的下列描述中,( ) 是错的。

A) 它可以用来动态创建对象和对象数组;

B) 使用它创建的对象或对象数组可以使用运算符delete 删除;

C) 使用它创建对象时要调用构造函数;

D) 使用它创建对象数组时必须指定初始值。

9. 在 C++ 中有以下 4 条语句: static int hot=200;int &rad=hot;

hot=hot+100;cout

A) 0 B) 100

C) 300 D) 200

10. 下列关于构造函数的描述中,错误的是 ( ) 。

A) 构造函数可以设置默认参数;

B) 构造函数在声明对象时自动执行;

C) 构造函数可以对静态数据成员进行初始化;

D) 构造函数可以重载; 。

11. 下面关于重载函数的说明中正确的是( ) 。

A) 重载函数必须具有不同的返回类型。 B) 重载函数形参的个数必须不同 C) 重载函数必须具有不同的形式参数表 D) 重载函数名可以不同

12. 下列关于C++函数的说明中,正确的是( ) 。

A) 内联函数就是定义在另一个函数体内部的函数

B) 函数体的最后一条语句必须是 return 语句

C) C++要求在调用一个函数前必须先声明其原型

D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式

13. 已知函数原型为:

void foo(int*, long &b);

实参定义为:

int i; long f;

则正确的调用语句是( ).

A) foo(i, &f); B) foo(i, f); C) foo(&i, f); D) foo(&i, &f);

14. C++中对于结构中定义的成员,其默认的访问权限为( ) 。

A) public B) protected C) private D) static

15. 下列关于类与对象的说法中,不正确的是( ) 。

A) 对象是类的一个实例

B) 任何对象只能属于一个具体的类

C) 一个类只能有一个对象

D) 类与对象的关系和数据类型与变量的关系相似

16. 下列关于构造函数的描述中错误的是( )

A) 构造函数可以设置默认参数 B) 构造函数在定义类对象时自动执行

C) 构造函数可以对静态数据成员进行初始化 D) 构造函数不可以重载

17. 类的析构函数的作用是( ) 。

A) 作为类的一般成员函数 B) 类的初始化 C) 对象的初始化 D) 对象的删除

18. 以下关于静态数据成员的描述正确的是( ) 。

A) 静态数据成员可以在类体中进行初始化 B) 静态数据成员不可以被类的实例调用 C) 静态数据成员不能受protected 控制符的作用 D) 静态数据成员可以直接用类名调用

19. 下面关于友元函数的描述中正确的是( ) 。

A) 友元函数的实现必须在类的内部定义 B) 友元函数是类的成员函数

C) 友元函数破坏了类的封装性和隐藏性 C) 友元函数不能访问类的私有成员

20. 下面关于友元函数的描述中错误的是( ) 。

A) 如果类A 是类B 的友元,那么类B 也是类A 的友元

B) 如果函数fun()被说明为类A 的友元,那么在fun()中可以访问类A 的私有成员

C) 友元关系不能被继承

D) 如果类A 是类B 的友元,那么类A 的所有成员函数都是类B 的友元函数

21. 下列属于C++语句的是 。

A) ; B) a=17 C) a+5 D) cout

22. 执行语句k=30;j=k++;后k 和j 的值分别为 。

A) k=30,j=30 B) k=30,j=31

C) k=31,j=30 D) k=31,j=31

23. 若X 是一个bool 型变量,则X && 5

A) 为true B) 为false

C) 与X 的值相同 D) 与X 的值相反

24. 如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c

A) 3 B) 2 C) 1 D) 4

25. 执行下列语句后的输出结果是 。

int hot=100;

int &rad=hot;

hot+=100;

cout

A) 0 B) 100

C) 200 D) 300

26. 下列关于break 语句的叙述不正确的是 。

A) break语句可用于循环体中,它将使执行流程跳出本层循环体;

break 语句可用于switch 语句中,它将使执行流程跳出当前的switch 语句;

break 语句可用于if 语句中,它将使执行流程跳出当前if 语句;

break 语句在一层循环体中可以出现多次。

27. 下面关于类的对象性质的描述,正确的是 。

A) 对象之间不可以相互赋值 B) 不可以说明指向对象的指针

C) 对象不能用作数组元素 D) 一个对象能用作另一个对象的成员

28. 在 C++ 中实现封装是借助于 。

A) 枚举 B) 类

C) 数组 D) 函数

29. 下列不是描述类的成员函数的是 。

A) 构造函数 B) 析构函数

C) 友元函数 D) 拷贝构造函数

30. 不能作为函数重载判断依据的是 。

A) 参数个数 B) 参数类型

C) 函数名称 D )返回值类型

31. 假定一个类的构造函数为 A(int aa,int bb){a=aa++;b=a*bb++;} ,则执行

A X(4,5); 语句后, X.a 和 X.b 的值分别为 。

A) 4 和 5 B) 5 和 30

C) 4 和 20 D ) 20 和 5

32. 对于double (*p)[10];的描述, 是正确的。

A) p是一个指向数组的指针,所指向的数组是10个double 型元素;

B) p是一个指向某个数组中第10个元素的指针,该元素是double 型变量;

C) p[5]表示某个数组的第10个元素的值;

D) p是一个具有10个元素的指针数组,每个元素是一个double 型指针;

33. 下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数?

A) int BC(int a, int b) B) void BC(int a, char b)

C) float BC(int a, int b, int c = 0) D) void BC(int a, int b=0)

34. 已知 char c; char * const pc="asdf ", 是正确的。

A) pc="dfgh " B) *pc=‘b’

C) *pc++=‘y’ D) pc=&c

35. 下列关于构造函数的叙述,错误的是 。

A) 构造函数可以设置默认参数;

B) 构造函数在说明类变量时自动调用;

C) 构造函数可以对静态数据成员进行初始化;

D) 构造函数可以重载;

36. 下列关于构造函数的描述中错误的是( )

A) 构造函数可以设置默认参数 B) 构造函数在定义类对象时自动执行

C) 构造函数可以对静态数据成员进行初始化 D) 构造函数不可以重载

37. 类的析构函数的作用是( ) 。

A) 作为类的一般成员函数 B) 类的初始化 C) 对象的初始化 D) 对象的删除

38. 以下关于静态数据成员的描述正确的是( ) 。

A) 静态数据成员可以在类体中进行初始化 B) 静态数据成员不可以被类的实例调用 C) 静态数据成员不能受protected 控制符的作用 D) 静态数据成员可以直接用类名调用

39. 下面关于友元函数的描述中正确的是( ) 。

A) 友元函数的实现必须在类的内部定义 B) 友元函数是类的成员函数

C) 友元函数破坏了类的封装性和隐藏性 C) 友元函数不能访问类的私有成员

40. 下面关于友元函数的描述中错误的是( ) 。

A) 如果类A 是类B 的友元,那么类B 也是类A 的友元

B) 如果函数fun()被说明为类A 的友元,那么在fun()中可以访问类A 的私有成员

C) 友元关系不能被继承

D) 如果类A 是类B 的友元,那么类A 的所有成员函数都是类B 的友元函数

41. 重载函数在调用时选择的依据中,错误的是 ( )

A. 函数的参数 B. 参数的类型 C. 函数的名字 D. 函数的类型

42. 一个函数功能不太复杂,但要求被频繁调用,选用 ( . )

A. 内联函数 B. 重载函数 C. 递归函数 D. 嵌套函数

43. 下列不是描述类的成员函数的是 ( )

A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数

44. 构造函数不具备的特征的是 ( )

A. 构造函数的函数名与类名相同 B. 构造函数可以重载

C. 构造函数可以设置默认参数 D. 构造函数可以指定返回类型

45. 通常,拷贝构造函数的参数是 ( )

A. 某个对象名 B. 某个对象的成员名

C. 某个对象的引用名 D. 某个对象的指针名

46. 继承机制的作用是 ( )

A. 信息隐藏 B. 数据封装 C. 代码重用 D. 数据抽象

47. 类的析构函数的作用是 ( )

A. 一般成员函数 B. 类的初始化 C. 对象的初始化 D. 删除对象创建的所有对象

48. 类的析构函数是在 ( ) 调用的。

A. 类创建时 B. 创建对象时 C. 删除对象时 D. 不自动调用

49. 已知print ()函数是一个类无返回值的常成员函数,下列表示中正确的是( ) 。

A.void print()const B.const void print()

C.void const print ; D.void print (const );

50. 如果类 A 被说明成类 B 的友元,则 ( )

A. 类 A 的成员即类 B 的成员 B. 类 B 的成员即类 A 的成员

C. 类 A 的成员函数不得访问类 B 的成员 D. 类 B 不一定是类 A 的友元

51. 通过一个对象调用虚函数时,C++系统对该调用采用( ) 。

A. 动态联编 B. 静态联编 C. 不确定是哪种联编 D. 函数重载

52. 在公有继承的情况下,基类成员在派生类中的访问权限 ( )

A. 受限制 B. 保持不变 C. 受保护 D. 不受保护

53. 在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为

( ) 指针。

A. 对象 B. 派生 C 基类 D.this

54. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的 ( )

A. 有参构造函数 B. 无参构造函数

C. 拷贝构造函数 D. 赋值构造函数

55. C++ 语言建立类族是通过 ( )

A. 类的嵌套 B. 类的继承 C. 虚函数 D. 抽象类

二、判断题

1、C++中,数组下标从1开始。( )

2、C++允许对字符串进行整体操作。( )

3、break 语句也可以用于if 体内,它可退出if 语句。( )

4、在说明语句 char a(‘A ’),&b=a,*pa=&a;中,b 的值与*pa的值相等。( )

5、对象数组的元素可以是不同类的对象。( )

6、私有继承中,基类中所有成员对派生类的对象都是不可见的。( )

7、类中所提供的成员函数可以直接访问私有成员。( )

8、按照标识符的要求,下划线是不能组成正确标识符的。( )

9、函数的默认参数没有顺序要求,可以随意定义。( )

10、在 C++ 语言中,”A”占两个字节,而 ’A’占一个字节。( )

11、C++语言支持封装性和继承性,不支持多态性。[ ]

12、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。)[ ]

13、字符串"sdfgh" 的长度是5。[ ]

14、引用和指针都可作函数参数。[ ]

15、友元函数说明在类体内,它是一种成员函数。[ ]

16、友元类必须被说明为公有成员。[ ]

17、纯虚函数是在基类中说明的虚函数,它在该基类中没有定义具体的操作内容。[ ]

18、析构函数不能被继承。[ ]

19、运算符重载以后,其优先级和结合性都不能改变。[ ]

20、在C++中,函数名实际上是一个指针,它指向函数的入口。[ ]

21、构造函数可以被继承。( )

22、析构函数不能被继承。( )

23、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。( )

24、解决多继承情况下出现的二义性的方法之一是使用成员名限定法。( )

25、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。( )

26、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。( )

27、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。( )

28、对单目运算符重载为友元函数时,说明一个形参; 重载为成员函数时, 不能显式说明形参。( )

29、重载运算符保持原运算符的优先级和结合性不变。( )

30、构造函数说明为纯虚函数是没有意义的。( )

三、简答题

1. 简述C++的异常处理机制?

2.C++的预定义的流对象有哪些?

3. 试以客观世界为例,说明抽象、封装、继承性和多态性等概念。

4. 多继承的情况下为什么会产生二义性?如何消除二义性?

5. 试说明 void F(const T &t); 和 inf f() const; 中关键字 const 作用。

6. 有如下程序

#include

#include

using namespace std;

class B;

class A{

friend B;

public:

A(){ } A(const A &a){

cout

cout

}

~A(){

cout

}

};

class B: public A{

public:

B(){

cout

}

B(const A a){

cout

}

};

void f(A &a){

cout

}

void ff(const B &b){

cout

}

void ff(A a){}

int main()

{

A a;

B bb=a;

}

程序运行的结果是_________________________

7. 有如下程序

#include

using namespace std;

template

class HisClass

{

Type data;

public:

HisClass(Type a, Type b, Type c);

Type getData();

};

template

HisClass::HisClass(Type a, Type b, Type c){ if(a>b&&a>c)

data=a;

else

if(b>c)

data=b;

else

data=c;

}

template

Type HisClass::getData()

{

return data;

}

int main()

{

HisClass x1(3,4,5), x2(5,3,4),

x3(4,5,3), x4(7,8,9),

x5(8,7,9);

cout

system("pause");

return 0;

}

程序运行的结果是_________________________

8. 以下程序在运行中出现致命错误,找出错误原因并修正。

#include

#include

class sample{

private:

char *string;

public:

sample(const char *s){

string = new char[strlen(s)+1]; strcpy(string s);

}

~sample(){

delete string;

};

};

sample f(char *arg){

sample tmp(arg);

return tmp;

}

int main()

{

sample local=f("abcd");

return 0;

}

9. 有如下程序

#include

using namespace std;

class P

{

char *name;

int age;

char *add;

public:

P(){

cout

}

~P(){

cout

}

};

class S:public P

{

char *department;

int level;

public:

S(){

cout

}

~S(){

cout

}

};

class T: public P

{

char *major;

float s;

public:

T(){

cout

}

~T(){

cout

}

};

int main()

{

S s;

T t;

system("pause");

return 0;

}

程序运行的结果是_________________________

10. 有如下程序

#include

using namespace std;

class B {

public:

B( ) {

cout

virtual void f( ) = 0;

virtual void g( ) = 0;

f( );

cout

}

virtual ~B( ){

cout

num--;

}

static int getNum( ){

return num;

}

private:

static int num;

};

class D1: public B {

public:

D1( ) {

cout

}

void f( ) {

cout

}

void g( ){

cout

}

~D1( ) {

cout

}

};

class D2: public B {

public:

D2( ) {

cout

}

void f( ){

cout

}

void g( ){

cout

}

cout

}

};

int B::num = 0;

int main( )

{

B* buf[3];

buf[0] = new D1;

buf[1] = new D2;

buf[2] = new D1;

int i;

cout

for ( i = 0; i

buf[i]->k( );

for (i = 0; i

delete buf[i];

cout

system("pause");

return 0;

}

程序运行的结果是_________________________

11. 有如下程序

#include

using namespace std;

class R

{

public:

R(int r1, int r2): R1(r1), R2(r2){};

void print();

void print() const;

private:

int R1, R2;

};

void R::print(){

cout

};

void R::print()const{

cout

}

R a(5,4);

const R b(20,52);

b.print();

system("pause");

return 1;

}

程序运行的结果是_________________________

12. 有如下程序

#include

using namespace std;

class demo{

public:

static int constructor, copy_constructor;

demo(){

cout

constructor++;

}

demo(const demo& x){

cout

copy_constructor++;

}

};

int demo::constructor=0;

int demo::copy_constructor=0;

demo usercode(demo b){

demo c(b);

return c;

}

int main()

{

demo a, d;

cout

d=usercode(a);

cout

程序运行的结果是_________________________

13. 有如下程序

#include

using namespace std;

class A{

static int m;

int n;

public:

A(int m, int n){

m=this->m;

n=this->n;

}

Show(){

cout

}

}

int A::m;

int main()

{

A a1(3,4);

A a2(5,6);

a1.Show();

a2.Show();

}

程序运行的结果是_________________________

14. 有如下程序

#include

using namespace std;

class P

{

char *name;

int age;

char *add;

public:

cout

}

~P(){

cout

}

};

class S:public P

{

char *department;

int level;

public:

S(){

cout

}

~S(){

cout

}

};

class T: public P

{

char *major;

float s;

public:

T(){

cout

}

~T(){

cout

}

};

int main()

{

S s;

T t;

system("pause");

return 0;

}

程序运行的结果是_________________________

15. 为什么要定义虚析构函数?

有如下程序

#include

using namespace std;

class B {

public:

B( ) {

cout

}

virtual void f( ) = 0;

virtual void g( ) = 0;

void k( ){

f( );

cout

}

virtual ~B( ){

cout

num--;

}

static int getNum( ){

return num;

}

private:

static int num;

};

class D1: public B {

public:

D1( ) {

cout

}

void f( ) {

cout

}

void g( ){

cout

}

~D1( ) {

cout

}

};

16.

class D2: public B {

public:

D2( ) {

cout

}

void f( ){

cout

}

void g( ){

cout

}

~D2( ){

cout

}

};

int B::num = 0;

int main( )

{

B* buf[3];

buf[0] = new D1;

buf[1] = new D2;

buf[2] = new D1;

int i;

cout

for ( i = 0; i

buf[i]->k( );

for (i = 0; i

delete buf[i];

cout

system("pause");

return 0;

}

程序运行的结果是_________________________

17. 有如下程序

#include

using namespace std;

class R

{

public:

R(int r1, int r2): R1(r1), R2(r2){};

void print();

void print() const;

private:

int R1, R2;

};

void R::print(){

cout

};

void R::print()const{

cout

}

int main()

{

R a(5,4);

const R b(20,52);

b.print();

system("pause");

return 1;

}

程序运行的结果是_________________________

18. 有如下程序

#include

using namespace std;

class B;

class A{

friend B;

public:

A(){

cout

}

A(const A &a){

cout

}

~A(){

cout

}

};

class B: public A{

public:

B(){

cout

}

B(const A a){

cout

}

};

void f(A &a){

cout

}

void ff(const B &b){

cout

}

void ff(A a){}

int main()

{

A a;

B bb=a;

}

19. 有如下程序

#include

using namespace std;

class demo{

public:

static int constructor, copy_constructor;

demo(){

cout

constructor++;

}

demo(const demo& x){

cout

copy_constructor++;

}

};

int demo::constructor=0;

int demo::copy_constructor=0;

demo usercode(demo b){

demo c(b);

return c;

}

int main()

{

demo a, d;

cout

d=usercode(a);

cout

return 0;

}

程序运行的结果是_________________________

20. 请分析下面的程序并给出该程序的执行结果。

#include

class AA{

int a;

public :

AA( ){cout

~AA( ){cout

};

class BB{

int b;

AA p;

public :

BB( ){cout

~BB( ){cout

};

void main( )

{BB X;

cout

}

执行该程序后, 输出结果为:

21. 写出下列程序的运行结果。

#include

using namespace std;

class AA{

int a;

public :

AA(int i){a=i;coutvirtual ~AA( ){cout};

class BB:public AA{

int b;

public :

BB(int i,int j):AA(i){b=j;cout

~BB( ){cout

};

void main( )

{AA *pa=new AA(8); delete pa;

AA*pb=new BB(6,9); delete pb;

}

执行该程序后, 输出结果为:

22. 写出下面程序的输出结果。

#include

class Test{

private:

static int val;

int a;

public:

static int func();

static void sfunc(Test &r);

};

int Test::val=20;

int Test::func()

{

val--;

return val;

}

void Test::sfunc(Test &r)

{

r.a=25;

cout

}

void main()

{

cout

Test a;

coutTest::sfunc(a);

}

执行该程序后, 输出结果为:

23. 写出下面程序输出结果。

# include

class A {

public:

virtual void func(){cout

};

class B {

public:

virtual void func(){cout

};

class C:public A, public B {

public:

void func(){cout

};

void main()

{ C c; A& pa=c; B& pb=c; C& pc=c; pa.func(); pb.func();

执行该程序后, 输出结果为:

24. 写出下面程序的输出结果。

# include

class Location{

public:

int X,Y;

void init(int initX,int initY);

int GetX();

int GetY();

};

void Location::init (int initX,int initY){

X=initX;

Y=initY; pv.func();

}

}

int Location::GetX() { return X; }

int Location::GetY() { return Y; }

void display(Location& rL) { cout

void main()

{ Location A[5]={{0,0},{1,1},{2,2},{3,3},{4,4}};

Location *rA=A; A[3].init(5,3);

rA->init(7,8);

for (int i=0;i

}

执行该程序后, 输出结果为:

四、程序设计题

1. 以下是一个整数栈类的定义:

const unsigned in SIZE=100;

class stack{

public:

stack();

~stack();

void push(int);

void pop();

int pop() const;

private:

int stack[SIZE];

int tos;

}

试编写一个栈的类模板(包括其成员函数定义),以便为任何类型的对象提供栈结构数据的操作。

2. 编程从键盘输入x 和y 的值,计算y=ln(2x-y)的值,要求设计一个“负数求对数”的异常类,并写出测试程序。(对数函数log()在math.h 中定义)

3. 写一个函数,找出给定字符串中具有最大ASCII 码的字符。如字符串"world" 中字符'w' 具有最大的ASCII 码。函数的原型为:

char MaxCharacter(char * str);

函数参数:指向所要处理的字符串;

函数返回值:如果不空,则返回具有最大ASCII 码的字符,否则返回空字符0x0或'\0'。

4. 它的公有派生类其中包含载人数passenger_load。卡车类truck 是vehicle 的公有派生类其中包含载人

数passenger_load和载重量payload ,每个类都有相关数据的输出方法。要求用UML 图来表示各个类及其相互的关系。

5. 根据下面类中Uion 函数的原型和注释写出它的类外定义。

classStrings{

char*s; //指向动态分配的字符串数组空间

int n : //记录字符串长度

public :

Strings(char-*str); //构造函数,利用str 字符串长度初始化n ,

//利用str 字符串初始化s 所指的字符串空间

Strings(Strings&str); //拷贝构造函数

Strings& Give(Strings& str); //实现str 赋值给*this的功能并返回*this

Strings Uion(Strings& str); //实现8this 和str 中的字符串连接的功能,

//把连接结果存人临时对象并返回

intLenth(){returnn;} //返回字符串长度

voidPrint(){eout

};

6. 设计一个文本文件的链接类CFileLink, 通过该类的使用,可以实现一个文件链接到另一个文件的的功能。将2个现有文件 的内容复制到一个新文件中。为了实现文件的复制需要使用get()函数读取字符,用put()函数写入字符,从而实现逐个字符的复制。

class CFileLink{

fstream file1, file2, file3;

char fn1[20], fn2[20], fn3[20];

public:

}

7. 设计一个文本文件的复制类CFileCopy, 通过该类的使用,可以实现一个文件复制到另一个文件的的功能。为了实现文件的复制需要使用get()函数读取字符,用put()函数写入字符,从而实现逐个字符的复制。 class CFileCopy{

fstream file1, file2;

char fn1[20], fn2[20];

public:

}

CFileCopy(); ~CFileCopy(); void copyfile(); // 打开file1, file2,将file1的内容写到file2 void printfile(); // 输出file1和file2的内容 CFileLink(); ~CFileLink(); void linkfile(); // 打开file1, file2,将file1, file2的内容写到file3 void printfile(); // 输出file3的内容

一、单项选择题

1. 在C++语言中,对函数参数默认值描述正确的是:( )

A) 函数参数的默认值只能设定一个

B) 一个函数的参数若有多个,则参数默认值的设定可以不连续

C) 函数参数必须设定默认值

D) 在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值

2. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的( ) 。

A) 有参构造函数 B) 无参构造函数

C) 拷贝构造函数 D) 赋值构造函数

3. 下述关于开关语句的描述中,( )是正确的。

A) 开关语句中default 子句可以没有,也可以有一个;

B) 开关语句中每个语句序列中必须有break 语句;

C) 开关语句中default 子句只能放在最后;

D) 开关语句中case 子句后面的表达式可以是整形表达式。

4. 关于对象概念的描述中,( ) 是错误的。

A) 对象就是C 语言中的结构变量;

B) 对象代表着正在创建的系统中的一个实体;

C) 对象是一个状态和操作(或方法)的封装体;

D) 对象之间的信息传递是通过消息进行的;

5. 下列给字符数组进行初始化中,( )是正确的。

A) char s1[ ]="12345abcd"; B) char s2[3]="xyz";

C) char s3[][3]={ 'a', 'x', 'y'}; D) char s4[2[3]={"xyz","mnp"};

6. 在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是 ( ) 。

A) 3 B) 2 C) 6 D) 4

7. 声明类test 的拷贝构造函数的正确形式是 ( ) 。

A) int test B) void test C) test(void) D) test(test&)

8. 关于new 运算符的下列描述中,( ) 是错的。

A) 它可以用来动态创建对象和对象数组;

B) 使用它创建的对象或对象数组可以使用运算符delete 删除;

C) 使用它创建对象时要调用构造函数;

D) 使用它创建对象数组时必须指定初始值。

9. 在 C++ 中有以下 4 条语句: static int hot=200;int &rad=hot;

hot=hot+100;cout

A) 0 B) 100

C) 300 D) 200

10. 下列关于构造函数的描述中,错误的是 ( ) 。

A) 构造函数可以设置默认参数;

B) 构造函数在声明对象时自动执行;

C) 构造函数可以对静态数据成员进行初始化;

D) 构造函数可以重载; 。

11. 下面关于重载函数的说明中正确的是( ) 。

A) 重载函数必须具有不同的返回类型。 B) 重载函数形参的个数必须不同 C) 重载函数必须具有不同的形式参数表 D) 重载函数名可以不同

12. 下列关于C++函数的说明中,正确的是( ) 。

A) 内联函数就是定义在另一个函数体内部的函数

B) 函数体的最后一条语句必须是 return 语句

C) C++要求在调用一个函数前必须先声明其原型

D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式

13. 已知函数原型为:

void foo(int*, long &b);

实参定义为:

int i; long f;

则正确的调用语句是( ).

A) foo(i, &f); B) foo(i, f); C) foo(&i, f); D) foo(&i, &f);

14. C++中对于结构中定义的成员,其默认的访问权限为( ) 。

A) public B) protected C) private D) static

15. 下列关于类与对象的说法中,不正确的是( ) 。

A) 对象是类的一个实例

B) 任何对象只能属于一个具体的类

C) 一个类只能有一个对象

D) 类与对象的关系和数据类型与变量的关系相似

16. 下列关于构造函数的描述中错误的是( )

A) 构造函数可以设置默认参数 B) 构造函数在定义类对象时自动执行

C) 构造函数可以对静态数据成员进行初始化 D) 构造函数不可以重载

17. 类的析构函数的作用是( ) 。

A) 作为类的一般成员函数 B) 类的初始化 C) 对象的初始化 D) 对象的删除

18. 以下关于静态数据成员的描述正确的是( ) 。

A) 静态数据成员可以在类体中进行初始化 B) 静态数据成员不可以被类的实例调用 C) 静态数据成员不能受protected 控制符的作用 D) 静态数据成员可以直接用类名调用

19. 下面关于友元函数的描述中正确的是( ) 。

A) 友元函数的实现必须在类的内部定义 B) 友元函数是类的成员函数

C) 友元函数破坏了类的封装性和隐藏性 C) 友元函数不能访问类的私有成员

20. 下面关于友元函数的描述中错误的是( ) 。

A) 如果类A 是类B 的友元,那么类B 也是类A 的友元

B) 如果函数fun()被说明为类A 的友元,那么在fun()中可以访问类A 的私有成员

C) 友元关系不能被继承

D) 如果类A 是类B 的友元,那么类A 的所有成员函数都是类B 的友元函数

21. 下列属于C++语句的是 。

A) ; B) a=17 C) a+5 D) cout

22. 执行语句k=30;j=k++;后k 和j 的值分别为 。

A) k=30,j=30 B) k=30,j=31

C) k=31,j=30 D) k=31,j=31

23. 若X 是一个bool 型变量,则X && 5

A) 为true B) 为false

C) 与X 的值相同 D) 与X 的值相反

24. 如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c

A) 3 B) 2 C) 1 D) 4

25. 执行下列语句后的输出结果是 。

int hot=100;

int &rad=hot;

hot+=100;

cout

A) 0 B) 100

C) 200 D) 300

26. 下列关于break 语句的叙述不正确的是 。

A) break语句可用于循环体中,它将使执行流程跳出本层循环体;

break 语句可用于switch 语句中,它将使执行流程跳出当前的switch 语句;

break 语句可用于if 语句中,它将使执行流程跳出当前if 语句;

break 语句在一层循环体中可以出现多次。

27. 下面关于类的对象性质的描述,正确的是 。

A) 对象之间不可以相互赋值 B) 不可以说明指向对象的指针

C) 对象不能用作数组元素 D) 一个对象能用作另一个对象的成员

28. 在 C++ 中实现封装是借助于 。

A) 枚举 B) 类

C) 数组 D) 函数

29. 下列不是描述类的成员函数的是 。

A) 构造函数 B) 析构函数

C) 友元函数 D) 拷贝构造函数

30. 不能作为函数重载判断依据的是 。

A) 参数个数 B) 参数类型

C) 函数名称 D )返回值类型

31. 假定一个类的构造函数为 A(int aa,int bb){a=aa++;b=a*bb++;} ,则执行

A X(4,5); 语句后, X.a 和 X.b 的值分别为 。

A) 4 和 5 B) 5 和 30

C) 4 和 20 D ) 20 和 5

32. 对于double (*p)[10];的描述, 是正确的。

A) p是一个指向数组的指针,所指向的数组是10个double 型元素;

B) p是一个指向某个数组中第10个元素的指针,该元素是double 型变量;

C) p[5]表示某个数组的第10个元素的值;

D) p是一个具有10个元素的指针数组,每个元素是一个double 型指针;

33. 下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数?

A) int BC(int a, int b) B) void BC(int a, char b)

C) float BC(int a, int b, int c = 0) D) void BC(int a, int b=0)

34. 已知 char c; char * const pc="asdf ", 是正确的。

A) pc="dfgh " B) *pc=‘b’

C) *pc++=‘y’ D) pc=&c

35. 下列关于构造函数的叙述,错误的是 。

A) 构造函数可以设置默认参数;

B) 构造函数在说明类变量时自动调用;

C) 构造函数可以对静态数据成员进行初始化;

D) 构造函数可以重载;

36. 下列关于构造函数的描述中错误的是( )

A) 构造函数可以设置默认参数 B) 构造函数在定义类对象时自动执行

C) 构造函数可以对静态数据成员进行初始化 D) 构造函数不可以重载

37. 类的析构函数的作用是( ) 。

A) 作为类的一般成员函数 B) 类的初始化 C) 对象的初始化 D) 对象的删除

38. 以下关于静态数据成员的描述正确的是( ) 。

A) 静态数据成员可以在类体中进行初始化 B) 静态数据成员不可以被类的实例调用 C) 静态数据成员不能受protected 控制符的作用 D) 静态数据成员可以直接用类名调用

39. 下面关于友元函数的描述中正确的是( ) 。

A) 友元函数的实现必须在类的内部定义 B) 友元函数是类的成员函数

C) 友元函数破坏了类的封装性和隐藏性 C) 友元函数不能访问类的私有成员

40. 下面关于友元函数的描述中错误的是( ) 。

A) 如果类A 是类B 的友元,那么类B 也是类A 的友元

B) 如果函数fun()被说明为类A 的友元,那么在fun()中可以访问类A 的私有成员

C) 友元关系不能被继承

D) 如果类A 是类B 的友元,那么类A 的所有成员函数都是类B 的友元函数

41. 重载函数在调用时选择的依据中,错误的是 ( )

A. 函数的参数 B. 参数的类型 C. 函数的名字 D. 函数的类型

42. 一个函数功能不太复杂,但要求被频繁调用,选用 ( . )

A. 内联函数 B. 重载函数 C. 递归函数 D. 嵌套函数

43. 下列不是描述类的成员函数的是 ( )

A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数

44. 构造函数不具备的特征的是 ( )

A. 构造函数的函数名与类名相同 B. 构造函数可以重载

C. 构造函数可以设置默认参数 D. 构造函数可以指定返回类型

45. 通常,拷贝构造函数的参数是 ( )

A. 某个对象名 B. 某个对象的成员名

C. 某个对象的引用名 D. 某个对象的指针名

46. 继承机制的作用是 ( )

A. 信息隐藏 B. 数据封装 C. 代码重用 D. 数据抽象

47. 类的析构函数的作用是 ( )

A. 一般成员函数 B. 类的初始化 C. 对象的初始化 D. 删除对象创建的所有对象

48. 类的析构函数是在 ( ) 调用的。

A. 类创建时 B. 创建对象时 C. 删除对象时 D. 不自动调用

49. 已知print ()函数是一个类无返回值的常成员函数,下列表示中正确的是( ) 。

A.void print()const B.const void print()

C.void const print ; D.void print (const );

50. 如果类 A 被说明成类 B 的友元,则 ( )

A. 类 A 的成员即类 B 的成员 B. 类 B 的成员即类 A 的成员

C. 类 A 的成员函数不得访问类 B 的成员 D. 类 B 不一定是类 A 的友元

51. 通过一个对象调用虚函数时,C++系统对该调用采用( ) 。

A. 动态联编 B. 静态联编 C. 不确定是哪种联编 D. 函数重载

52. 在公有继承的情况下,基类成员在派生类中的访问权限 ( )

A. 受限制 B. 保持不变 C. 受保护 D. 不受保护

53. 在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为

( ) 指针。

A. 对象 B. 派生 C 基类 D.this

54. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的 ( )

A. 有参构造函数 B. 无参构造函数

C. 拷贝构造函数 D. 赋值构造函数

55. C++ 语言建立类族是通过 ( )

A. 类的嵌套 B. 类的继承 C. 虚函数 D. 抽象类

二、判断题

1、C++中,数组下标从1开始。( )

2、C++允许对字符串进行整体操作。( )

3、break 语句也可以用于if 体内,它可退出if 语句。( )

4、在说明语句 char a(‘A ’),&b=a,*pa=&a;中,b 的值与*pa的值相等。( )

5、对象数组的元素可以是不同类的对象。( )

6、私有继承中,基类中所有成员对派生类的对象都是不可见的。( )

7、类中所提供的成员函数可以直接访问私有成员。( )

8、按照标识符的要求,下划线是不能组成正确标识符的。( )

9、函数的默认参数没有顺序要求,可以随意定义。( )

10、在 C++ 语言中,”A”占两个字节,而 ’A’占一个字节。( )

11、C++语言支持封装性和继承性,不支持多态性。[ ]

12、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。)[ ]

13、字符串"sdfgh" 的长度是5。[ ]

14、引用和指针都可作函数参数。[ ]

15、友元函数说明在类体内,它是一种成员函数。[ ]

16、友元类必须被说明为公有成员。[ ]

17、纯虚函数是在基类中说明的虚函数,它在该基类中没有定义具体的操作内容。[ ]

18、析构函数不能被继承。[ ]

19、运算符重载以后,其优先级和结合性都不能改变。[ ]

20、在C++中,函数名实际上是一个指针,它指向函数的入口。[ ]

21、构造函数可以被继承。( )

22、析构函数不能被继承。( )

23、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。( )

24、解决多继承情况下出现的二义性的方法之一是使用成员名限定法。( )

25、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。( )

26、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。( )

27、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。( )

28、对单目运算符重载为友元函数时,说明一个形参; 重载为成员函数时, 不能显式说明形参。( )

29、重载运算符保持原运算符的优先级和结合性不变。( )

30、构造函数说明为纯虚函数是没有意义的。( )

三、简答题

1. 简述C++的异常处理机制?

2.C++的预定义的流对象有哪些?

3. 试以客观世界为例,说明抽象、封装、继承性和多态性等概念。

4. 多继承的情况下为什么会产生二义性?如何消除二义性?

5. 试说明 void F(const T &t); 和 inf f() const; 中关键字 const 作用。

6. 有如下程序

#include

#include

using namespace std;

class B;

class A{

friend B;

public:

A(){ } A(const A &a){

cout

cout

}

~A(){

cout

}

};

class B: public A{

public:

B(){

cout

}

B(const A a){

cout

}

};

void f(A &a){

cout

}

void ff(const B &b){

cout

}

void ff(A a){}

int main()

{

A a;

B bb=a;

}

程序运行的结果是_________________________

7. 有如下程序

#include

using namespace std;

template

class HisClass

{

Type data;

public:

HisClass(Type a, Type b, Type c);

Type getData();

};

template

HisClass::HisClass(Type a, Type b, Type c){ if(a>b&&a>c)

data=a;

else

if(b>c)

data=b;

else

data=c;

}

template

Type HisClass::getData()

{

return data;

}

int main()

{

HisClass x1(3,4,5), x2(5,3,4),

x3(4,5,3), x4(7,8,9),

x5(8,7,9);

cout

system("pause");

return 0;

}

程序运行的结果是_________________________

8. 以下程序在运行中出现致命错误,找出错误原因并修正。

#include

#include

class sample{

private:

char *string;

public:

sample(const char *s){

string = new char[strlen(s)+1]; strcpy(string s);

}

~sample(){

delete string;

};

};

sample f(char *arg){

sample tmp(arg);

return tmp;

}

int main()

{

sample local=f("abcd");

return 0;

}

9. 有如下程序

#include

using namespace std;

class P

{

char *name;

int age;

char *add;

public:

P(){

cout

}

~P(){

cout

}

};

class S:public P

{

char *department;

int level;

public:

S(){

cout

}

~S(){

cout

}

};

class T: public P

{

char *major;

float s;

public:

T(){

cout

}

~T(){

cout

}

};

int main()

{

S s;

T t;

system("pause");

return 0;

}

程序运行的结果是_________________________

10. 有如下程序

#include

using namespace std;

class B {

public:

B( ) {

cout

virtual void f( ) = 0;

virtual void g( ) = 0;

f( );

cout

}

virtual ~B( ){

cout

num--;

}

static int getNum( ){

return num;

}

private:

static int num;

};

class D1: public B {

public:

D1( ) {

cout

}

void f( ) {

cout

}

void g( ){

cout

}

~D1( ) {

cout

}

};

class D2: public B {

public:

D2( ) {

cout

}

void f( ){

cout

}

void g( ){

cout

}

cout

}

};

int B::num = 0;

int main( )

{

B* buf[3];

buf[0] = new D1;

buf[1] = new D2;

buf[2] = new D1;

int i;

cout

for ( i = 0; i

buf[i]->k( );

for (i = 0; i

delete buf[i];

cout

system("pause");

return 0;

}

程序运行的结果是_________________________

11. 有如下程序

#include

using namespace std;

class R

{

public:

R(int r1, int r2): R1(r1), R2(r2){};

void print();

void print() const;

private:

int R1, R2;

};

void R::print(){

cout

};

void R::print()const{

cout

}

R a(5,4);

const R b(20,52);

b.print();

system("pause");

return 1;

}

程序运行的结果是_________________________

12. 有如下程序

#include

using namespace std;

class demo{

public:

static int constructor, copy_constructor;

demo(){

cout

constructor++;

}

demo(const demo& x){

cout

copy_constructor++;

}

};

int demo::constructor=0;

int demo::copy_constructor=0;

demo usercode(demo b){

demo c(b);

return c;

}

int main()

{

demo a, d;

cout

d=usercode(a);

cout

程序运行的结果是_________________________

13. 有如下程序

#include

using namespace std;

class A{

static int m;

int n;

public:

A(int m, int n){

m=this->m;

n=this->n;

}

Show(){

cout

}

}

int A::m;

int main()

{

A a1(3,4);

A a2(5,6);

a1.Show();

a2.Show();

}

程序运行的结果是_________________________

14. 有如下程序

#include

using namespace std;

class P

{

char *name;

int age;

char *add;

public:

cout

}

~P(){

cout

}

};

class S:public P

{

char *department;

int level;

public:

S(){

cout

}

~S(){

cout

}

};

class T: public P

{

char *major;

float s;

public:

T(){

cout

}

~T(){

cout

}

};

int main()

{

S s;

T t;

system("pause");

return 0;

}

程序运行的结果是_________________________

15. 为什么要定义虚析构函数?

有如下程序

#include

using namespace std;

class B {

public:

B( ) {

cout

}

virtual void f( ) = 0;

virtual void g( ) = 0;

void k( ){

f( );

cout

}

virtual ~B( ){

cout

num--;

}

static int getNum( ){

return num;

}

private:

static int num;

};

class D1: public B {

public:

D1( ) {

cout

}

void f( ) {

cout

}

void g( ){

cout

}

~D1( ) {

cout

}

};

16.

class D2: public B {

public:

D2( ) {

cout

}

void f( ){

cout

}

void g( ){

cout

}

~D2( ){

cout

}

};

int B::num = 0;

int main( )

{

B* buf[3];

buf[0] = new D1;

buf[1] = new D2;

buf[2] = new D1;

int i;

cout

for ( i = 0; i

buf[i]->k( );

for (i = 0; i

delete buf[i];

cout

system("pause");

return 0;

}

程序运行的结果是_________________________

17. 有如下程序

#include

using namespace std;

class R

{

public:

R(int r1, int r2): R1(r1), R2(r2){};

void print();

void print() const;

private:

int R1, R2;

};

void R::print(){

cout

};

void R::print()const{

cout

}

int main()

{

R a(5,4);

const R b(20,52);

b.print();

system("pause");

return 1;

}

程序运行的结果是_________________________

18. 有如下程序

#include

using namespace std;

class B;

class A{

friend B;

public:

A(){

cout

}

A(const A &a){

cout

}

~A(){

cout

}

};

class B: public A{

public:

B(){

cout

}

B(const A a){

cout

}

};

void f(A &a){

cout

}

void ff(const B &b){

cout

}

void ff(A a){}

int main()

{

A a;

B bb=a;

}

19. 有如下程序

#include

using namespace std;

class demo{

public:

static int constructor, copy_constructor;

demo(){

cout

constructor++;

}

demo(const demo& x){

cout

copy_constructor++;

}

};

int demo::constructor=0;

int demo::copy_constructor=0;

demo usercode(demo b){

demo c(b);

return c;

}

int main()

{

demo a, d;

cout

d=usercode(a);

cout

return 0;

}

程序运行的结果是_________________________

20. 请分析下面的程序并给出该程序的执行结果。

#include

class AA{

int a;

public :

AA( ){cout

~AA( ){cout

};

class BB{

int b;

AA p;

public :

BB( ){cout

~BB( ){cout

};

void main( )

{BB X;

cout

}

执行该程序后, 输出结果为:

21. 写出下列程序的运行结果。

#include

using namespace std;

class AA{

int a;

public :

AA(int i){a=i;coutvirtual ~AA( ){cout};

class BB:public AA{

int b;

public :

BB(int i,int j):AA(i){b=j;cout

~BB( ){cout

};

void main( )

{AA *pa=new AA(8); delete pa;

AA*pb=new BB(6,9); delete pb;

}

执行该程序后, 输出结果为:

22. 写出下面程序的输出结果。

#include

class Test{

private:

static int val;

int a;

public:

static int func();

static void sfunc(Test &r);

};

int Test::val=20;

int Test::func()

{

val--;

return val;

}

void Test::sfunc(Test &r)

{

r.a=25;

cout

}

void main()

{

cout

Test a;

coutTest::sfunc(a);

}

执行该程序后, 输出结果为:

23. 写出下面程序输出结果。

# include

class A {

public:

virtual void func(){cout

};

class B {

public:

virtual void func(){cout

};

class C:public A, public B {

public:

void func(){cout

};

void main()

{ C c; A& pa=c; B& pb=c; C& pc=c; pa.func(); pb.func();

执行该程序后, 输出结果为:

24. 写出下面程序的输出结果。

# include

class Location{

public:

int X,Y;

void init(int initX,int initY);

int GetX();

int GetY();

};

void Location::init (int initX,int initY){

X=initX;

Y=initY; pv.func();

}

}

int Location::GetX() { return X; }

int Location::GetY() { return Y; }

void display(Location& rL) { cout

void main()

{ Location A[5]={{0,0},{1,1},{2,2},{3,3},{4,4}};

Location *rA=A; A[3].init(5,3);

rA->init(7,8);

for (int i=0;i

}

执行该程序后, 输出结果为:

四、程序设计题

1. 以下是一个整数栈类的定义:

const unsigned in SIZE=100;

class stack{

public:

stack();

~stack();

void push(int);

void pop();

int pop() const;

private:

int stack[SIZE];

int tos;

}

试编写一个栈的类模板(包括其成员函数定义),以便为任何类型的对象提供栈结构数据的操作。

2. 编程从键盘输入x 和y 的值,计算y=ln(2x-y)的值,要求设计一个“负数求对数”的异常类,并写出测试程序。(对数函数log()在math.h 中定义)

3. 写一个函数,找出给定字符串中具有最大ASCII 码的字符。如字符串"world" 中字符'w' 具有最大的ASCII 码。函数的原型为:

char MaxCharacter(char * str);

函数参数:指向所要处理的字符串;

函数返回值:如果不空,则返回具有最大ASCII 码的字符,否则返回空字符0x0或'\0'。

4. 它的公有派生类其中包含载人数passenger_load。卡车类truck 是vehicle 的公有派生类其中包含载人

数passenger_load和载重量payload ,每个类都有相关数据的输出方法。要求用UML 图来表示各个类及其相互的关系。

5. 根据下面类中Uion 函数的原型和注释写出它的类外定义。

classStrings{

char*s; //指向动态分配的字符串数组空间

int n : //记录字符串长度

public :

Strings(char-*str); //构造函数,利用str 字符串长度初始化n ,

//利用str 字符串初始化s 所指的字符串空间

Strings(Strings&str); //拷贝构造函数

Strings& Give(Strings& str); //实现str 赋值给*this的功能并返回*this

Strings Uion(Strings& str); //实现8this 和str 中的字符串连接的功能,

//把连接结果存人临时对象并返回

intLenth(){returnn;} //返回字符串长度

voidPrint(){eout

};

6. 设计一个文本文件的链接类CFileLink, 通过该类的使用,可以实现一个文件链接到另一个文件的的功能。将2个现有文件 的内容复制到一个新文件中。为了实现文件的复制需要使用get()函数读取字符,用put()函数写入字符,从而实现逐个字符的复制。

class CFileLink{

fstream file1, file2, file3;

char fn1[20], fn2[20], fn3[20];

public:

}

7. 设计一个文本文件的复制类CFileCopy, 通过该类的使用,可以实现一个文件复制到另一个文件的的功能。为了实现文件的复制需要使用get()函数读取字符,用put()函数写入字符,从而实现逐个字符的复制。 class CFileCopy{

fstream file1, file2;

char fn1[20], fn2[20];

public:

}

CFileCopy(); ~CFileCopy(); void copyfile(); // 打开file1, file2,将file1的内容写到file2 void printfile(); // 输出file1和file2的内容 CFileLink(); ~CFileLink(); void linkfile(); // 打开file1, file2,将file1, file2的内容写到file3 void printfile(); // 输出file3的内容


相关内容

  • N多毕业设计题目
  • 基于Ajax技术的WEB应用的设计 又快到毕业的时候了,大家该准备做毕业设计了.大学问问特意收集了一些毕业设计(论文)的题目,供大家选择. VB售楼管理系统 VB无纸化考试系统 VB小区物业管理系统 VB航空公司管理信息系统 VB计算机机房管理系统 VB房地产评估系统VB+SQL2000 VB光盘信 ...

  • 人大计算机考研复试看什么参考书
  • 人大计算机考研复试看什么参考书 中国人民大学没有指定计算机考研参考书目,凯程老师根据多年的辅导经验及学员反馈,推荐中国人民大学计算机研究生参考教材如下: 数据结构参考书: <数据结构(C语言版)>严蔚敏 清华大学出版社 <数据结构题集(C语言版) >严蔚敏 清华大学出版社 & ...

  • 毕业设计报告与任务书范例
  • No: 毕 业 设 计 报 告 课题: 系部: 班级: 软件 学号: 0718010XXX 学生: 张 三 指导教师: 李 四 装订交卷日期: 2 013.03.29 081 毕业设计报告要求双面打印,但此页为空白页,即封面的反面,为了自动双面打印使目录首页印在奇数页上,此空白页不能删.(打印前仅将 ...

  • 文献检索课程报告
  • 文献检索课程报告 班级:理工计科1211 学号: 03 姓名:dreamkunk 一 选题简介 课程名称:C语言网络考试系统的开发与研究 C-language network test system development and research 课程分析:关键词:网络考试系统.试卷生成算法 ne ...

  • 信息系毕业论文
  • 南通纺织职业技术学院毕业设计(论文) 网上考试系统 XXX 班 级 05网络 专 业 计算机网络 教 学 系 信息系 指导教师 完成时间年日至 目录 ......................................................................... 3 ...

  • 人大软件工程硕士考研就业方向整理
  • 人大软件工程硕士考研就业方向整理 经过整理凯程人大软件工程硕士考研老师总结了以下关于考研内容,希望通过以下内容,同学们更加了解人大软件工程硕士考研,规划好学习计划!凯程就是王牌的人大考研机构! 一.人大软件工程硕士就业怎么样? 作为名牌院校的中国人民大学,本身的学术氛围好,有良好的师资力量,人脉资源 ...

  • [中国基础教育资源库](中学版)使用指南
  • <中国基础教育资源库>(中学版)使用指南 一.<中国基础教育资源库>简介:<中国基础教育资源库>(中学版)是由教育部基础 教育司.教育部基础教育课程教材发展中心和北京师范大学联合推出,立足于教育部规定的21世纪新课程标准和新教材建设而成的电子信息资源库.全套资源库 ...

  • 解答人大软件工程硕士考研学费问题
  • 解答人大软件工程硕士考研学费问题 人大软件工程硕士考研学费怎么收?这是许多考研学子的烦恼.今天凯程老师详细的介绍一下人大软件工程硕士考研学费.文章也介绍了人大软件工程硕士考研难度,人大软件工程硕士考研就业,人大软件工程硕士考研辅导,人大软件工程硕士考研参考书,人大软件工程硕士考研专业课等其他内容,希 ...

  • 了解人大软件工程硕士考研就业方向
  • 了解人大软件工程硕士考研就业方向 凯程老师给广大考生总结了一些人大软件工程硕士考研就业的资料,广大考生可以作为参考,更好的做出复习计划.其中,文章也介绍了中人大软件工程硕士考研难度,人大软件工程硕士考研辅导,人大软件工程硕士考研参考书,人大软件工程硕士考研专业课的内容.特别申明,以下信息绝对准确,凯 ...