面向对象程序设计作业4:类和对象的基础

1-1结构体变量可以作数组元素。
T

1-2结构体成员的类型必须是基本数据类型。

1-3结构体类型本身不占用内存空间,结构体变量占用内存空间。
T

1-4结构体成员的类型必须是基本数据类型。

1-5在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。

1-6对于结构数组s,既可以引用数组的元素s[i],也可以引用s[i]中的结构成员。

1-7假设结构指针p已定义并正确赋值,其指向的结构变量有一个成员是int型的num,则语句 *p.num = 100; 是正确的。

由于“ . ”的优先级大于“ * ”

故(*p).num 等价于 p->num,题目错误。


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

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

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

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

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

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

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

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

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

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

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

1-20  point *p[3];point是类名,p为定义指向对象数组的指针 。
 
2-1对于以下结构定义,++p->str中的++加在____。
struct {
    int len;
    char *str;
} *p;
 A.指针str上
以上均不是
 
2-2以下scanf函数调用语句中不正确的是__。
struct pupil {
 char name[20];
 int age;
 int sex;
} pup[5], *p=pup;

2-3  For the following declarations of structure and variables, the correct description of the expression *p->str++; is __.
struct {
    int no;
    char *str;
} a={1,"abc"}, *p=&a;
the expression is wrong

2-4  For the following declarations, assignment expression __ is not correct.
struct Student {
    long num;
    char name[20];
} st1, st2={101, "Tom"}, *p=&st1; 
*p=st2

2-5  For definition: struct { int n; char *str;} *p;,the operator ++ will act on __ in the expression ++p->str
 

2-6有如下定义:
 struct Student{
    char name[10];
    int age;
    char gender;
}std[3], *p=std;

则以下各输入语句中错误的是:

 

2-8下列函数中,( )不能重载。

2-9下列对重载函数的描述中,( )是错误的。

2-11有关类和对象的说法下列不正确的有( )。

2-12在下面类声明中,关于生成对象不正确的是( )。

class point
{ public:
int x;
int y;
point(int a,int b) {x=a;y=b;}
};

posted @ 2022-06-22 15:54  寄情良玉赠旅人  阅读(1360)  评论(0)    收藏  举报