( 35 )有如下程序::
#include
using namespace std:
class Sample
{
friend long fun ( Sample s ) ;
public:
Sample ( long a ) {x=a;}
Private:
long x;
};
long fun ( Sample s )
{
if ( s.x<2 ) retum 1;
retum s.x*fun ( Sample ( s.x-a ))
}
int main ()
{
int sum=0
for ( int i =0; i <6; i ++ ) { sum+=fun ( Sample ( i ) ; ) }
cout<<SUM;
retum 0;
}
运行时输出的结果是
A ) 120
B ) 16
C ) 154
D ) 34
第1题:
使用VC6打开考生文件夹下的工程test12_1,此工程包含一个源程序文件test_12.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:
fun (Sample &p) 1 2
fun (Sample *p) 3 4
20 10
源程序文件test12_1清单如下:
include<iostream .h>
class Sample
{
private:
int x,y;
static int z;
public:
Sample(int a,int b){ x=a;y=b; }
void fun(Sample &p);
void fun(Sample *p);
static void print(Sample s);
};
/*************** found ***************/
int z=10;
void Sample::fun(Sample &p)
{
x=p.K;y=p.y;
cout<<"fun(Sample &p)"<<" "<<x<<" "<<y<<endl;
}
void Sample::fun(Sample *p)
{
/************** found **************/
x=p.x; y=p.y;
cout<<"fun(Sample *p) "<<" '<<x<<" "<<y<<endl;
}
void Sample::print (Sample s)
{
/*************** found *****************/
x=20;
cout<<s. x<<" "<<z<<endl;
}
void main()
{
Sample p(1,2),q(3,4);
p. fun(p);
p. fun(&q);
p. print(p);
}
第2题:
完成下面的程序,使显示结果如下图所示。
Private Sub Form_Click()
FontSize=18
Sample$s="【 】"
x=(ScaleWidth-TextWidth(Sample$))/2
y=(ScaleHeight-TextHeight(Sample$))/2
CurrentX=x
CurrentY=y
【 】Sample$
End Sub
第3题:
有如下类定义,请将Sample类的拷贝构造函数补充完整。 class Sample { public: Sample(){} ~Sample(){if(p)delete p;} Sample(const Sample&s){ p=new int; *p=___________; } void SetData(int data) {p=new int(data);} void print(){cout<<*p<<endl;} private: int*p; };
第4题:
有如下程序: #inClude<iostream> using namespaCe std; Class Sample{ friend long fun(Sample S); publiC: Sample(10ng A.{x=a;} private: long X; }; long fun(Sample S){ if(S.x<2)return l; return S.X*fun(Sample(s.x-1)); } int main( ) { int sum=0; for(int i=0;i<6;i++) {sum+=fun(Sample(i));} Cout<<sum: return 0; } 执行这个程序的输出结果是( )。
A.120
B.16
C.154
D.34
第5题:
若有如下程序: #include <iostream> using namespaces std; int s=O; class sample { static int n; public: sample(int i) { n=i; } static void add() { s+=n; } }; int sample::s=O; int main() { sample a(2),b(5); sample: :add(); cout<<s<<end1; return 0; } 程序运行后的输出结果是
A.2
B.5
C.7
D.3