将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。 (2)应添加“friendvoidfunc;”。 (3)应添加“intTC::Num3=4;”。 (4)将“obi.AddNum”补充完整为“obj.AddNum(2);”。 【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune;”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)类名::静态数据成员)=初始值”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。
将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。 (2)应添加“friendvoidfunc;”。 (3)应添加“intTC::Num3=4;”。 (4)将“obi.AddNum”补充完整为“obj.AddNum(2);”。 【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune;”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)<类名>::<静态数据成员)=<初始值>”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。
相关考题:
以下程序的执行结果是【】。include class B{public:B(){}B(int i.int j); void printb 以下程序的执行结果是【 】。include <iostream.h>class B{public:B(){}B(int i.int j);void printb();private:int a,b;};class A{public:A() { }A(int i,int j);void printa();private:B c;};A:: A(int i,int j):c(i, j){ }void A:: pfinta(){c. printb();}B::B(int i,int j){a=i;b=j;}void B::printb(){cout<<"a="<<a<<",b="<<b<<end1;}void main(){A m(7,9);m. printa();}
下列引用的定义中,()是正确的A.int i; int j=i;B.int i; int j; j=i;C.float i; float j=i;D.char i; char j; j=i;E.char i; int j=i;
int i=5; int j=3; 表达式 i%j 值为()。A.1B.2C.3D.5