
全都是一些c++基础问题,可是困扰了我很久了,明天考试,帮个忙吧~
1、填空题:intarr90={1,2,3,4,5};______index(inti){returna[i];}voidmain(){index(3)=______;/...
1、填空题:
int arr90={1,2,3,4,5};
______index (int i){return a[i];}
void main(){
index(3)=______; //将a[3]改为6
}
【答案:int & ;6】
【第一空为什么要填一个&呢?&是引用的意思,引用的应该是变量才对啊,但是index是函数,之前也可以写&进行引用吗?而且第二空貌似有点不合理,怎么可以赋值给index(3)呢?刚刚学完C,这些搞不清啊~】
2、填空题
若类sample中只有如下几个数据成员:const float f; const char c,则其构造函数应定义为_________________________.
【答案:sample (float a, char b):f(a),f(b){ }】
【这个是怎么弄出来的?完全不懂意思,答案怎么是这种形式,f(a),f(b)题目中都没有,怎么写出来的呢?...困惑啊】
3、填空题
class MA{
private : int value;
public :
MA(int n=0)
{value = n;}
};
MA *ta,tb;
其中MA类的对象名标识符是__________.
【答案:tb】
【*ta为什么不是呢?】 展开
int arr90={1,2,3,4,5};
______index (int i){return a[i];}
void main(){
index(3)=______; //将a[3]改为6
}
【答案:int & ;6】
【第一空为什么要填一个&呢?&是引用的意思,引用的应该是变量才对啊,但是index是函数,之前也可以写&进行引用吗?而且第二空貌似有点不合理,怎么可以赋值给index(3)呢?刚刚学完C,这些搞不清啊~】
2、填空题
若类sample中只有如下几个数据成员:const float f; const char c,则其构造函数应定义为_________________________.
【答案:sample (float a, char b):f(a),f(b){ }】
【这个是怎么弄出来的?完全不懂意思,答案怎么是这种形式,f(a),f(b)题目中都没有,怎么写出来的呢?...困惑啊】
3、填空题
class MA{
private : int value;
public :
MA(int n=0)
{value = n;}
};
MA *ta,tb;
其中MA类的对象名标识符是__________.
【答案:tb】
【*ta为什么不是呢?】 展开
2个回答
展开全部
同学,看来你基础很差:
1.因为你要将一个值赋给index(3),所以index(3)是一个变量,只有变量才能被赋值,所以
index (int i)只能返回引用,完整函数如下:int &index(int i){return a[i];}这样的话index(i)就是a[i]的另一个名字,而不是只等于a[i]的值,所以index(3)=______;这一行就相当于问你a[3]=______;如果不返回引用index(i)就是一个常量值而不是变量,常量是不能在等号左边的
2.这一题你要清楚const类型的作用,标识符前加const说明它在初始化后不可改变,例如我定义:
const int a; //a被默认赋值0
a=5; 这是不允许的,要想给a赋值5 必须这样定义:const int a=5;接下来不能对a做任何改变
因为累sample的数据成员f和c是const类型 所以构造函数只能用初始化的方式而不能用下面这种:sample(float a,char b)
{f=a;c=b;}
sample(float a,char b):f(a),c(b){}这称为构造函数的初始化式,这是一种语法,记住就行了,在类中const类型的数据成员只有用这种方式初始化
3.这题没什么好说的,ta是MA类型的指针,因为ta前面有个*号,指针不是对象
1.因为你要将一个值赋给index(3),所以index(3)是一个变量,只有变量才能被赋值,所以
index (int i)只能返回引用,完整函数如下:int &index(int i){return a[i];}这样的话index(i)就是a[i]的另一个名字,而不是只等于a[i]的值,所以index(3)=______;这一行就相当于问你a[3]=______;如果不返回引用index(i)就是一个常量值而不是变量,常量是不能在等号左边的
2.这一题你要清楚const类型的作用,标识符前加const说明它在初始化后不可改变,例如我定义:
const int a; //a被默认赋值0
a=5; 这是不允许的,要想给a赋值5 必须这样定义:const int a=5;接下来不能对a做任何改变
因为累sample的数据成员f和c是const类型 所以构造函数只能用初始化的方式而不能用下面这种:sample(float a,char b)
{f=a;c=b;}
sample(float a,char b):f(a),c(b){}这称为构造函数的初始化式,这是一种语法,记住就行了,在类中const类型的数据成员只有用这种方式初始化
3.这题没什么好说的,ta是MA类型的指针,因为ta前面有个*号,指针不是对象
展开全部
1.引用是别名,返回值为a[i]的一个引用,故返回值类型为int &
index(3)其实就是a[3],这行就是给a[3]重新赋值
2.这是sample的一个构造函数,初始化数据成员f和c的,构造函数后面的冒号是参数化模板,即起到初始化的作用 f(a)即 f = a 的意思 后面一个应该是c(b)吧。
3.tb是对象名,ta是指向一个MA对象的对象指针。
回答完毕,打这么多字,给分吧。。
index(3)其实就是a[3],这行就是给a[3]重新赋值
2.这是sample的一个构造函数,初始化数据成员f和c的,构造函数后面的冒号是参数化模板,即起到初始化的作用 f(a)即 f = a 的意思 后面一个应该是c(b)吧。
3.tb是对象名,ta是指向一个MA对象的对象指针。
回答完毕,打这么多字,给分吧。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询