《面向对象程序设计》第3章 类与对象(判断、选择、填空)-练习

1-1

常量对象可以使用常量成员函数。

T

F

| 参考答案

答案

T

2分

1-2

在定义常量成员函数和声明常量成员函数时都应该使用const关键字。

T

F

| 参考答案

答案

T

2分

1-3

对象间赋值将调用拷贝构造函数。

T

F

| 参考答案

答案

F

2分

1-4

对象数组生命期结束时,对象数组的每个元素的析构函数并不会都被调用。

T

F

| 参考答案

答案

F

2分

1-5

构造函数可以通过对象多次调用。

T

F

| 参考答案

答案

F

2分

1-6

有下面两种定义:

struct stu{char name[8];        int age;    char sex;        double height;    
}; 
class stu{
public:char name[8];int age;char sex;double height;
}; 

它们的含义是完全等价的,都包含了相同的数据项,只不过是两种不同的类型。

T

F

| 参考答案

答案

T

2分

1-7

如果只定义对象数组不进行初始化,此时调用的是有参构造函数。

T

F

| 参考答案

答案

F

2分

1-8

对象引用作为函数参数比用对象指针更方便些。

T

F

| 参考答案

答案

T

2分

1-9

指向对象数组的指针不一定必须指向数组的首元素。

T

F

| 参考答案

答案

T

2分

1-10

对静态数据成员初始化可以在类内进行。

T

F

| 参考答案

答案

F

2分

1-11

静态成员函数属于类而不是类的对象,没有this指针,静态成员函数中不能使用thiss指针。

T

F

| 参考答案

答案

T

2分

1-12

友元函数或友元类,虽然能够提高的运行效率和编程便捷性,但会对类的封装造成一定程度上的破坏,因此,在使用时应慎重。 答案为T,分值为2分。

T

F

| 参考答案

答案

T

2分

1-13

对于类A,若其中的构造函数有A( )和A(int i=0,int y=0),则在主程序中语句 “A a;”不会出现调用构造函数的二义性,可以正常运行。答案为F,分值为2分。

T

F

| 参考答案

答案

F

2分

1-14

当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。

T

F

| 参考答案

答案

T

2分

1-15

内部静态类变量与自动类变量作用域不同,但是生存期相同。

T

F

| 参考答案

答案

F

2分

1-16

C++运算符new自动建立一个大小合适的对象并返回一个具有正确类型的指针。

T

F

| 参考答案

答案

T

2分

1-17

每个对象都有一个指向自身的指针,称为 this 指针,通过使用它来确定其自身的地址。

T

F

| 参考答案

答案

T

2分

1-18

类中的构造函数是一个特殊的成员函数,它由类的对象自动调用,它的作用是为对象分配内存空间,初始化类的数据成员并进行一些其它类的内部操作。

T

F

| 参考答案

答案

T

2分

1-19

当一个类对象的成员函数被调用时,该成员函数的 this指针指向调用它的对象。

T

F

| 参考答案

答案

T

2分

1-20

C++程序中,类的构造函数名与类名相同。

T

F

| 参考答案

答案

T

2分

1-21

已知class A中有数据成员int a,如果定义了A的两个对象a1,a2,它们各自的数据成员a的值可以不同.

T

F

| 参考答案

答案

T

5分

1-22

一个类的友元函数是这个类的成员。

T

F

| 参考答案

答案

F

2分

1-23

C++程序中,一个类的构造函数可以被重载。

T

F

| 参考答案

答案

T

2分

1-24

C++程序中,一个类的析构函数可以被重载。

T

F

| 参考答案

答案

F

2分

1-25

析构函数的作用主要是释放对象占用的资源。

T

F

| 参考答案

答案

T

2分

1-26

友元函数不是类的成员函数,只是独立于该类的一般函数。

T

F

| 参考答案

答案

T

2分

1-27

可以将一个类的成员函数(包括构造和析构函数)说明为另一个类的友元。

T

F

| 参考答案

答案

T

2分

1-28

如果A是B的友元类,那么B的成员函数可以访问A的私有成员。

T

F

| 参考答案

答案

F

2分

1-29

如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加上const关键字。

T

F

| 参考答案

答案

T

2分

1-30

在类的成员函数说明后可以加const关键字,则该成员函数成为常成员函数。

T

F

| 参考答案

答案

T

2分

1-31

两个函数,名字和参数表都一样,但是一个带const,一个不带,不算重载。

T

F

| 参考答案

答案

F

2分

1-32

当用一个对象去初始化同类的另一个对象时,要调用拷贝构造函数。

T

F

| 参考答案

答案

T

2分

1-33

若new一个对象数组,那么用delete释放时应该写[],否则只delete一个对象(调用一次析构函数)。

T

F

| 参考答案

答案

T

2分

1-34

当一个对象调用其成员函数时,编译器先将该对象的地址赋给 this 指针,然后调用成员函数,这样成员函数对对象的数据成员进行操作时,就隐含使用了 this 指针。

T

F

| 参考答案

答案

T

2分

1-35

静态成员用以解决同一个类的不同对象之间成员,包括数据成员和函数成员的共享问题。

T

F

| 参考答案

答案

T

2分

1-36

静态成员的特点是不管这个类创建了多少个对象,其静态成员在内存中只保留一份副本,这个副本为该类的所有对象共享,或者说静态成员为类所有。

T

F

| 参考答案

答案

T

2分

1-37

已知类 A 是类 B 的友元,类 B 是类 C 的友元,则类 A 一定是类 C 的友元 。

T

F

| 参考答案

答案

F

2分

1-38

某类的友元类的所有成员函数可以存取或修改该类中的私有成员。

T

F

| 参考答案

答案

T

2分

1-39

对象数组的元素可以是不同类的对象。

T

F

| 参考答案

答案

F

2分

1-40

在生成对象数组时,将针对每个数组元素按其下标的排列顺序依次调用一次构造函数,调用的次数等于数组元素的个数。

T

F

| 参考答案

答案

T

2分

1-41

在定义对象数组时,可以直接进行初始化,也可以通过赋值语句实现赋值。

T

F

| 参考答案

答案

T

2分

1-42

对象数组在定义过程中进行元素的初始化时,调用无参构造函数。

T

F

| 参考答案

答案

F

2分

1-43

程序执行结束前,调用析构函数将数组中各个对象元素释放,释放顺序与创建对象的顺序相反。

T

F

| 参考答案

答案

T

2分

1-44

point (*p)[3];point是类名,p为对象指针数组。

T

F

| 参考答案

答案

F

2分

1-45

静态数据成员不属于某个对象,在给对象分配存储空间时,不包括静态数据成员所占的空间。

T

F

| 参考答案

答案

T

2分

1-46

静态成员函数的实现必须在类体外实现,不能在类体内实现。

T

F

| 参考答案

答案

F

2分

1-47

由于静态成员函数不属于某个特定的对象,因此。不能像一般的成员函数那样随意的访问对象中的非静态数据成员。只能引用类中声明的静态数据成员。如果要引用非静态数据成员,可通过对象引用。

T

F

| 参考答案

答案

T

2分

1-48

常数据成员的值必须初始化,且不能改变。

T

F

| 参考答案

答案

T

2分

1-49

在类中声明常数据成员时,只能通过构造函数成员初始化列表的方式来实现。

T

F

| 参考答案

答案

T

2分

1-50

常成员函数可以引用对象的数据成员,但是不能更新数据成员,也不能调用该类中非常成员函数。

T

F

| 参考答案

答案

T

2分

单选题80 分

2-1

设类AA已定义,假设以下语句全部合法,哪些语句会触发调用构造函数( )。

AA a; //1
AA b(12, 10); //2
AA c(b); //3
a.SetX(32); //4

A.

1 和 2

B.

1、2 和 3

C.

全班

D.

1

| 参考答案

答案

A

2分

2-2

关于存储类别的关键字

在声明类的数据成员时,可以使用 ▁▁▁▁▁ 关键字。

A.

auto

B.

register

C.

extern

D.

static

| 参考答案

答案

D

2分

2-3

下列关于this指针的叙述中,正确的是( )

A.

任何与类相关的函数都有this指针

B.

类的成员函数都有this指针

C.

类的友元函数都有this指针

D.

类非静态成员函数才有this指针

| 参考答案

答案

D

2分

2-4

对类的构造函数和析构函数描述正确的是( )

A.

构造函数可以重载,析构函数不能重载

B.

构造函数不能重载,析构函数可以重载

C.

构造函数可以重载,析构函数也可以重载

D.

构造函数不能重载,析构函数也不能重载

| 参考答案

答案

A

2分

2-5

假定MyClass为一个类,则该类的复制构造函数的声明语句为()

A.

MyClass(int x)

B.

MyClass(MyClass x)

C.

MyClass(const MyClass& x);

D.

MyClass(MyClass *x)

| 参考答案

答案

C

2分

2-6

假定MyClass为一个类,则执行MyClass a,b(3),*p;语句时,自动调用该类构造函数()次。

A.

1

B.

2

C.

3

D.

4

| 参考答案

答案

B

2分

2-7

下面对于友元函数描述正确的是()

A.

友元函数的实现必须在类的内部定义

B.

友元函数是类的成员函数

C.

友元函数破坏了类的封装性和隐藏性

D.

友元函数不能访问类的私有成员

| 参考答案

答案

C

2分

2-8

下面对静态数据成员的描述中,正确的是( )

A.

静态数据成员是类的所有对象共享的数据

B.

类的每个对象都有自己的静态数据成员

C.

类的不同对象有不同的静态数据成员值

D.

静态数据成员不能通过类的对象调用

| 参考答案

答案

A

2分

2-9

假设A 是一个类的名字,下面哪段程序不会调用A的复制构造函数?

A.

A a1,a2; a1 = a2;

B.

void func( A a) { cout << "good" << endl; }

C.

A func( ) { A tmp; return tmp; }

D.

A a1; A a2(a1);

| 参考答案

答案

A

2分

2-10

在类体内说明友元使用的关键字是?

A.

virtual

B.

friend

C.

inline

D.

static

| 参考答案

答案

B

2分

2-11

关于友元函数的描述中,错误的是?

A.

友元函数不是成员函数

B.

友元函数必须在类体内定义

C.

友元函数可以访问类的私有数据成员

D.

友元函数破坏了类的封装

| 参考答案

答案

B

2分

2-12

已知类 A 是类 B 的友元,类 B 是类 C 的友元,下列说法正确的是?

A.

类A的成员函数能访问类C的私有成员

B.

C 一定是类 A 的友元

C.

C 的成员函数可以访问类 B 的对象的任何成员

D.

A 的成员函数可以访问类 B 的对象的任何成员

| 参考答案

答案

D

2分

2-13

关于友元函数的描述中,错误的是?

A.

友元函数不是成员函数

B.

友元函数只可访问类的私有成员

C.

友元函数的调用方法同一般函数

D.

友元函数可以是另一类中的成员函数

| 参考答案

答案

B

2分

2-14

友元的作用是?

A.

提高程序的运用效率

B.

加强类的封装性

C.

实现数据的隐藏性

D.

增加成员函数的种类

| 参考答案

答案

A

2分

2-15

有如下类的定义:

class Sample
{
public:Sample( );Sample(int x );......
};

动态申请对象存储单元,调用一个带参构造函数,初值为2的语句是()。

A.

Sample *a=new Sample(2);

B.

Sample a=new Sample(2);

C.

Sample *a=new Sample[2];

D.

Sample a=new Sample[2];

| 参考答案

答案

A

2分

2-16

有如下定义:

class Sample
{
public:Sample( );Sample(int x );......
};

如果用new创建对象数组,该数组中包含10个对象,则正确的语句为()。

A.

Sample *a=new Sample[10];

B.

Sample *a=new Sample(10);

C.

Sample *a=new Sample[ ];

D.

Sample *a=new Sample;

| 参考答案

答案

A

2分

2-17

句“void Set(A &a);”是类A中的一个成员函数的声明,其中A &a的含义是( )。

A.

类A的对象引用a作该函数的参数

B.

类A的对象a的地址值做函数的参数

C.

表达式变量A与变量a按位与作函数参数

D.

指向类A对象指针a作函数参数

| 参考答案

答案

A

2分

2-18

对于常数据成员,下面描述正确的是()。

A.

常数据成员可以不初始化,并且不能更新

B.

常数据成员必须被初始化,并且不能更新

C.

常数据成员可以不初始化,并且可以被更新

D.

常数据成员必须被初始化,并且可以被更新

| 参考答案

答案

B

2分

2-19

在下面有关静态成员函数的描述中,正确的是()。

A.

在建立对象前,就可以为静态数据成员赋值

B.

静态成员函数在类外定义时要用static前缀

C.

静态成员函数只能在类外定义

D.

在静态成员函数中可以使用this指针

| 参考答案

答案

A

2分

2-20

下列选项中,静态成员函数不能直接访问的是()。

A.

静态数据成员

B.

静态成员函数

C.

类以外的函数和数据

D.

非静态数据成员

| 参考答案

答案

D

2分

2-21

对于常成员函数,下面描述正确的是()

A.

常成员函数不能修改任何数据成员

B.

常成员函数只能修改一般数据成员

C.

常成员函数只能修改常数据成员

D.

常成员函数只能修改常对象的数据成员

| 参考答案

答案

A

2分

2-22

类成员默认的访问属性

类成员默认的访问属性为 ▁▁▁▁▁。

A.

private

B.

protected

C.

public

D.

friend

| 参考答案

答案

A

2分

2-23

下列特性中,C与C++共有的是( )

A.

继承

B.

封装

C.

多态性

D.

函数定义不能嵌套

| 参考答案

答案

D

2分

2-24

C++提供的可有效分配对象空间的运算符是( )

A.

delete

B.

new

C.

pos

D.

auto

| 参考答案

答案

B

2分

2-25

为类提供对外接口的是( )

A.

公有成员函数

B.

私有成员函数

C.

保护成员函数

D.

友元函数

| 参考答案

答案

A

2分

2-26

若类A的构造函数定义为
A(int aa=1, int bb=0) { a = aa; b = bb; }
则执行:A x(4);后,x.a和x.b的值分别是( )

A.

1,0

B.

1,4

C.

4,0

D.

4,1

| 参考答案

答案

C

2分

2-27

若类A被说明成类B的友元,则( ) 。

A.

类A的成员即类B的成员

B.

类B的成员即类A的成员

C.

类A的成员函数不能访问类B的成员

D.

类B不一定是类A的友元

| 参考答案

答案

D

2分

2-28

下列哪一种情况下,类的复制构造函数不会被调用

A.

用类的一个对象赋值给另一个对象时

B.

当用类的一个对象去初始化该类的另一个对象时

C.

如果函数的形参是类的对象,调动函数时,进行形参和实参结合时

D.

如果函数的返回值是类的对象,函数执行完成返回调用者时

| 参考答案

答案

A

2分

2-29

下列关于类和对象的描述正确的是( )。

A.

类和对象没有区别

B.

系统要为类和对象分配存储空间

C.

对象是类的实例,系统为对象分配存储空间而不为类分配存储空间

D.

类是对象的实例,系统为类分配存储空间而不为对象分配存储空间

| 参考答案

答案

C

2分

2-30

关于类的析构函数描述正确的是。

A.

析构函数可以有参数

B.

析构函数可以重载

C.

析构函数可以省略

D.

析构函数有返回值类型

| 参考答案

答案

C

2分

2-31

关于常成员的描述中,哪个是错误的?

A.

常成员是用关键字const说明的

B.

常成员有常数据成员和常成员函数两种

C.

常数据成员的初始化是在类体内定义它时进行的

D.

常数据成员的值是不可以改变的

| 参考答案

答案

C

2分

2-32

关于常对象的描述正确的是( ).

A.

常对象可以调用所有的成员函数

B.

常对象只能调用常成员函数

C.

常对象的值可以在程序执行过程中发生改变

D.

常对象在定义时可以不初始化

| 参考答案

答案

B

2分

2-33

子对象的初始化是通过( )来实现的.

A.

构造函数

B.

成员函数

C.

构造函数的成员初始化列表

D.

友元函数

| 参考答案

答案

C

2分

2-34

关于运算符delete的描述中,错误的是( ).

A.

使用该运算符可以释放用new运算符创建的对象或对象数组

B.

使用该运算符可以释放所有对象

C.

使用delete运算符时会自动调用析构函数

D.

用它释放对象数组时,它作用的指针名前要加运算符[ ]

| 参考答案

答案

B

2分

2-35

关于运算符new的描述中,错误的是( )。

A.

它可以创建对象或变量

B.

它可以创建对象数组或一般类型数组

C.

用它创建对象或对象数组时要调用相应的构造函数

D.

用它创建的对象可以不用delete运算符释放

| 参考答案

答案

D

2分

2-36

如果某函数的返回值是个对象 ,则该函数被调用时,返回的对象?

A.

是通过拷贝构造函数初始化的

B.

是通过无参数的构造函数初始化的

C.

用哪个构造函数初始化,取决于函数中return 语句是怎么写的

D.

不需要初始化

| 参考答案

答案

A

2分

2-37

关于成员函数特征的描述中,( )是错误的。

A.

成员函数可以重载

B.

成员函数一定是内联函数

C.

一个类可以没有成员函数

D.

成员函数可以设置参数的默认值

| 参考答案

答案

B

2分

2-38

类的析构函数是在什么时候调用的?

A.

类创建时

B.

创建对象时

C.

删除对象时

D.

不自动调用

| 参考答案

答案

C

2分

2-39

C++函数的声明和定义可以分开。函数声明不需要( )。

A.

返回类型

B.

函数名

C.

参数表

D.

函数体

| 参考答案

答案

D

2分

2-40

引入友元的主要目的是为了

A.

增强数据安全性

B.

提高程序的可靠性

C.

提高程序的效率和灵活性

D.

保证类的封装性

| 参考答案

答案

C

2分

填空题74 分

4-1

写出下面程序的执行结果。

#include <iostream>
using namespace std;
class CSample {int x;public: CSample() { cout<<"C1"<<endl;}CSample(int n ) {x = n;cout<<"C2,x="<<x<<endl;}
};
int main()
{
CSample array1[2];
CSample array2[2] = {6,8};
CSample array3[2] = {12};
return 0;
}

(2分)

(2分)

(2分)

(2分)

(2分)

(2分)

| 参考答案

填空#1

C1

填空#2

C1

填空#3

C2,x=6

填空#4

C2,x=8

填空#5

C2,x=12

填空#6

C1

12分

4-2

下面程序的运行结果。

#include <iostream>
using namespace std;
class B
{public:B(){cout<<++b<<endl;}~B(){cout<<--b<<endl;}static int Getb(){return b;}private:static int b;
};
int B::b=10;
int main()
{B b1,b2,b3;cout<<B::Getb()<<endl;return 0;
}

程序结果为:

(2分)

(2分)

(2分)

(2分)

(2分)

(2分)

(2分) 。

| 参考答案

填空#1

11

填空#2

12

填空#3

13

填空#4

13

填空#5

12

填空#6

11

填空#7

10

14分

4-3

写出下面程序的运行结果。

#include<iostream>
using namespace std;
class A
{public:A(int i){a=i;}void print(){    cout<<"a="<<a<<endl;cout<<"this->a="<<this->a<<endl;}private:int a;
};
int main()
{A x(55);x.print();return 0;
}

运行结果为:

a=(2分)

this->a=(2分)

| 参考答案

填空#1

55

填空#2

55

4分

4-4

有如下程序:请写出程序输出结果。

class Test
{
public:Test(){cout<<"构造函数"<<endl;}        ~Test(){cout<<"析构函数"<<endl;}    
};
void myfunc(){static Test obj;
}
int main()
{cout<<"main开始"<<endl;myfunc();cout<<"main结束"<<endl;return 0;
}

(2分)

(2分)

(2分)

(2分)

| 参考答案

填空#1

main开始

填空#2

构造函数

填空#3

main结束

填空#4

析构函数

8分

4-5

写出下面程序的执行结果。

#include<iostream> 
using namespace std;
class Cla 
{static int n;
public:Cla(){n++;}        ~Cla(){n--;}    static int get_n(){        return n;    }
};
int Cla::n=0;int main( )
{Cla *p=new Cla;delete p;cout<<"n="<<Cla::get_n()<<endl;return 0;
}

(2分)

| 参考答案

填空#1

n=0

2分

4-6

阅读分析下列程序的运行结果?

a002.png

(1分)
(1分)
(1分)
(1分)
(1分)
(1分)

| 参考答案

填空#1

x=1

填空#2

x=10

填空#3

x=20

填空#4

x=30

填空#5

x=20

填空#6

x=30

6分

4-7

阅读分析下列程序的运行结果?

a003.png


(1分)
(1分)
(1分)
(1分)
(1分)
(1分)

| 参考答案

填空#1

10 20

填空#2

100 2

填空#3

1000 2

填空#4

2 2

填空#5

abc

填空#6

abc abc abc

6分

4-8

阅读分析下列程序的运行结果?

a004.png


(1分)
(1分)
(1分)
(1分)
(1分)
(1分)

| 参考答案

填空#1

Label:apple constructor!

填空#2

Box width:3,height:4 constructor!

填空#3

Label:no name constructor!

填空#4

Box width:10,height:10 constructor!

填空#5

Box(10,10) destructor!Label(no name) destructor!

填空#6

Box(3,4) destructor!Label(apple) destructor!

6分

4-9

阅读分析下列程序的运行结果?

吧.png

(2分)
(2分)
(2分)
(2分)
(2分)
(2分)
(2分)

| 参考答案

填空#1

构建日期:2023年1月1日

填空#2

拷贝日期:2023年1月1日

填空#3

拷贝日期:2023年1月1日

填空#4

2023年1月1日结束

填空#5

计算机年会:2023年1月1日

填空#6

2023年1月1日结束

填空#7

2023年1月1日结束

14分

4-10

write the output of the code below.

#include <iostream>  
using namespace std;
class MYCLASS{
public:MYCLASS(int x):val(x){}void print() const{cout << val << endl;}void print(){cout << val << endl;}
private:int val;
}; 
int main()
{MYCLASS ob1(1);const MYCLASS ob2(2);ob2.print();ob1.print();return 0;
}

One for each line.

line 1: (1分)
line 2: (1分)

| 参考答案

填空#1

2

填空#2

1

2分

程序填空题53 分

5-1

将空白的地方填写完整,使程序完成指定的功能。

#include <iostream>
using namespace std;
class Student{public:(5分)//利用参数初始化表进行数据初始化void display();private:int num;float score;};void Student::display(){cout<<num<<" "<<score<<endl;}int main()
{Student stud[5]={Student(101,78.5),Student(102,85.5),Student(103,98.5),Student(104,100.0),Student(105,95.5)}; //定义对象数组(5分)//定义对象指针指向对象数组for((5分))//显示第1、3、5名学生信息p->display();return 0;}
}

| 参考答案

填空#1

Student(int n,float s):num(n),score(s){}

填空#2

Student *p=stud;

填空#3

int i=0;i<=2;p=p+2,i++

15分

5-2

填写程序中的空白,完成指定的功能。

#include<iostream>
using namespace std;
class R{int len,w;
public:R(int len,int w);int getArea();
};
R::R(int len,int w){(2分)(2分)
}
int R::getArea(){return (this->len)*(this->w);
}
int main(){R r1(2,5),r2(3,6);cout<<"First Area is "<<(2分)<<endl;cout<<"Second Area is "<<(2分)<<endl;return 0;
}

####输出数据如下:

First Area is 10
Second Area is 18

| 参考答案

填空#1

this->len=len;

填空#2

this->w=w;

填空#3

r1.getArea()

填空#4

r2.getArea()

8分

5-3

填充程序空白,完成指定的输出。

using namespace std;
class A{int i;
public:A(int k=0){i=k;}void display(){cout<<"i="<<i<<endl;}
};
int main()
{(2分)//动态创建对象pp->display();(2分)//删除对象pp=new A(8);p->display();delete p;(2分)//p指向对象数组A *q=p;for(int i=0;i<3;i++){(2分)//输出对象数组数据}(2分)//删除对象数组指针preturn 0;
} 

###程序输出如下:

i=0
i=8
i=0
i=0
i=0

| 参考答案

填空#1

A *p=new A;

填空#2

delete p;

填空#3

p=new A[3];

填空#4

q++->display();

填空#5

delete []p;

10分

5-4

填写程序中的空白,完成指定的功能

#include<iostream>
using namespace std;
class Point{double x,y;(2分)//定义静态变量
public:Point(double a=0,double b=0):x(a),y(b){(2分)}~Point(){(2分)}void show(){cout<<"the number of Point is "<<(2分)<<endl;}
};
(2分)
int main(){Point p1;Point *p=new Point(1,2);p->show();delete p;p1.show();return 0;

####程序输出如下:

the number of Point is 2
the number of Point is 1

| 参考答案

填空#1

static int cnt;

填空#2

cnt++;

填空#3

cnt--;

填空#4

cnt

填空#5

int Point::cnt=0;

10分

5-5

下列程序接收若干用户的姓名和电话,然后进行输出。

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
const int N=5; 
class CPerson
{char name[10];    char num[10];
public:void get_data((2分)){strcpy(name,na);strcpy(num,nu);}void put_data(CPerson pn[N]);
};
void CPerson::put_data(CPerson pn[N])
{    int i;for(i=0;i<N;i++){  cout.width(5); (2分);cout.width(5);(2分)}
}
int main()
{char *na[5]={"li","zh","wu","xie","liu"};char *nu[5]={"01","02","03","04","05"};CPerson obj[5];    //对象数组for(int i=0;i<5;i++)    obj[i].get_data(na[i],nu[i]);
(2分)  *pt=obj;    
(2分)  return 0;
}  

输入样例:

无输入

输出样例:

   li   01zh   02wu   03xie   04liu   05

| 参考答案

填空#1

char* na,char* nu

填空#2

cout<<pn[i].name

填空#3

cout<<pn[i].num<<endl;

填空#4

CPerson

填空#5

pt->put_data(pt);

10分


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

奇思妙想-可以通过图片闻见味道的设计

奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲&#xff0c;炭火烧烤乐无边。肉串飘香引客至&#xff0c;笑语欢声绕云间。人生难得几回醉&#xff0c;且把烦恼抛九天。今宵共饮开怀酒&#xff0c;改日再战新篇章。周四的傍晚&#xff0c;难得的闲暇时光让我与几位挚友相…

PAT B1026. 程序运行时间

题目描述 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock(&#xff09;函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK——给出了机器时钟每秒所走的时钟打点数…

继电器的保护二极管如何选择

继电器在实际应用中&#xff0c;通常都会使用三极管或MOS管控制&#xff0c;其最基本的应用电路如图&#xff1a; 那为什么要在继电器线圈上并联一个二极管呢&#xff1f;我们可以看看没有并联二极管时电路会出现什么情况&#xff0c;我们使用下图所示的电路参数仿真一下&#…

食家巷助力“甘肃乡村振兴,百强主播·打call 甘味”活动

2024年&#xff0c;甘肃省“商务乡村振兴”促消费暨“百强主播打call 甘味”活动在天水市龙城广场盛大启动。 活动现场&#xff0c;来自甘肃省 14 个市州的农特产品展台琳琅满目&#xff0c;让人目不暇接。此次活动中&#xff0c;各企业带来了多款深受消费者喜爱的产品&a…

【AI实践】Dify调用本地和在线模型服务

背景 Ollama可以本地部署模型&#xff0c;如何集成私有数据、如何外部应用程序对接&#xff0c;因此需要有一个应用开发框架 Dify功能介绍 欢迎使用 Dify | 中文 | Dify 下文将把dify部署在PC上&#xff0c;windows环境&#xff1b; 安装部署 安装dify及docker jacobJacobs…

【图解IO与Netty系列】Netty源码解析——服务端启动

Netty源码解析——服务端启动 Netty案例复习Netty原理复习Netty服务端启动源码解析bind(int)initAndRegister()channelFactory.newChannel()init(channel)config().group().register(channel)startThread()run()register0(ChannelPromise promise)doBind0(...) 今天我们一起来学…

ssm162基于SSM的药房药品采购集中管理系统的设计与实现+vue

药房药品采购集中管理系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对药房药品采购信息管理混乱&…

购物车店铺列表查询流程

购物车店铺列表查询流程 购物车结算流程图

【Git】基础操作

初识Git 版本控制的方式&#xff1a; 集中式版本控制工具&#xff1a;版本库是集中存放在中央服务器的&#xff0c;team里每个人work时从中央服务器下载代码&#xff0c;是必须联网才能工作&#xff0c;局域网或者互联网。个人修改之后要提交到中央版本库 例如&#xff1a;SVM和…

如何选择合适的大模型框架:LangChain、LlamaIndex、Haystack 还是 Hugging Face

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

小北Chat GPT4o 文生图初体验~

前言 在人工智能领域中&#xff0c;生成图像和文本的技术一直在不断进步。OpenAI的Chat GPT-4结合DALL-E技术&#xff0c;为用户提供了一种全新的创作体验——通过文字生成图像。在这篇博客中&#xff0c;小北将分享几次与Chat GPT-4合作的创作过程&#xff0c;展示从文字描述到…

redis aof写入以及aof重写的源码分析

这里写目录标题 版本aof的面试问题aof正常写入流程aof重写流程 版本 redis&#xff1a;6.2.7 aof的面试问题 最近找工作&#xff0c;面试被问倒了&#xff0c;记录一下 比如redis的aof指令会不会丢失&#xff1f;比如在重写aof的什么新来的操作怎么办&#xff1f; 在重写的…

无限可能LangChain——概念指南之架构

本节包含对 LangChain 关键部分的介绍。 架构 LangChain 作为一个框架由多个包组成。 langchain-core 该包包含不同组件的基本抽象以及将它们组合在一起的方法。此处定义了LLM、向量存储、检索器等核心组件的接口。这里没有定义第三方集成。依赖项有目的地保持非常轻量级。…

LaTex入门教程

目录 1.说明 2.页面的分区 3.入门介绍 &#xff08;1&#xff09;命令 &#xff08;2&#xff09;环境 &#xff08;3&#xff09;声明 &#xff08;4&#xff09;注释 4.代码结构 &#xff08;1&#xff09;导言区 &#xff08;2&#xff09;支持中文 &#xff08;3…

【字符串】65. 有效数字

本文涉及知识点 字符串 LeetCode65. 有效数字 给定一个字符串 s &#xff0c;返回 s 是否是一个 有效数字。 例如&#xff0c;下面的都是有效数字&#xff1a;“2”, “0089”, “-0.1”, “3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e7”, “6e-1”, “53.5e93”,…

药品销售管理系统带万字文档药店管理系统java项目药店商城网站

文章目录 药品销售管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档&#xff08;9.9&#xffe5;带走&#xff09; 药品销售管理系统 一、项目演示 药品销售管理系统 二、项目介绍 系统角色&#xff1a;管理…

GPU的工作原理

location: Beijing 1. why is GPU CPU的存储单元和计算单元的互通过慢直接促进了GPU的发展 先介绍一个概念&#xff1a;FLOPS&#xff08;Floating Point Operations Per Second&#xff0c;浮点运算每秒&#xff09;是一个衡量其执行浮点运算的能力&#xff0c;可以作为计算…

【MySQL】事务的特性和隔离级别

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

vue 应用测试(一) --- 介绍

vue 应用测试&#xff08;一&#xff09; ---介绍 前端测试简介组件测试Jest 测试框架简介其他测试框架 第一个测试避免误报如何组织测试代码 组件挂载Vue2 组件挂载的方式Vue3 的挂载方式vue-test-utils挂载选项 如何调试测试用例参考小结 前端测试简介 软件测试&#xff1a;…

[AIGC] Python的Range函数

Python的range()函数是一个内置函数&#xff0c;常常用于编程中生成数列。这个函数可以生成一个整数序列&#xff0c;这个序列通常用在循环中。 文章目录 基本用法详细用法注意事项 基本用法 range()函数的基本形式为 range(stop) —— 这将生成一个从0开始&#xff0c;到stop…