void main() {A *pa; B b(7); pa=&b; }
4. #include
{cout< cout< void fun(X); }; void fun(X t) {cout< 5. #include Bas(char *s=\\0\void show(); protected: char name[20]; }; Bas b; void show() {cout<<\void main() {Bas d2(\show(); } 四、完成程序题(本大题共5小题,每小题4分,共20分) 1. 在下面程序横线处填上适当字句,以使该程序执行结果为: 50 4 34 21 10 0 7.1 8.1 9.1 10.1 11.1 #include for (int i=0;i t=a[i], a[i]=a[n-1-i], a[n-1-i]=t; } void main () {int a[5]={10,21,34,4,50}; double d[6]={11.1,10.1,9.1,8.1,7.1}; f(a,5);f(d,6); for (int i=0;i<5;i++) cout < for (i=0;i<6;i++) cout << d[i] << \cout << endl; } 2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为40。 #include Test (int i=0) {x=i+x;} int Getnum() {return Test::x+7;} }; _______; void main() {Test test; cout< 3. 在下列程序的空格处填上适当的字句,使输出为:0,2,10。 #include Magic(double d=0.00):x(fabs(d)) {} Magic operator+(______) { return Magic(sqrt(x*x+c.x*c.x)); } _______operator<<(ostream & stream,Magic & c) { stream< void main() {Magic ma; cout< 4. 下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。 #include _________; void main() {double rad; cout<<\cin>>rad; double l=2.0*pi*rad; double s=pi*rad*rad; cout<<\\n The long is:\cout<<\:\5. 程序实现大写字母转换成小写字母。 #include cout< 五、程序分析题(本大题共4小题,每小题5分,共1. 给出下面程序输出结果。 #include virtual void print() {cout<< \}; class b:public a {}; class c:public b {public: void print(){cout<<\}; void show(a *p) {(*p).print(); } void main() {a a; b b; c c; show(&a); show(&b); show(&c); } 2. 给出下面程序输出结果。 #include 20分) {long a=10,b=30,l=0; if(a%2==0) a++; for(long m=a;m<=b;m+=2) if(fun(m)) {if(l++==0) cout < cout < bool fun(long n) {int sqrtm=(int)sqrt(n); for(int i=2;i<=sqrtm;i++) if(n%i==0) return false; return true; } 3. 给出下面程序输出结果。 #include Test(int i,int j=0) {x=i;y=j;} int get(int i,int j) {return i+j;} }; void main() {Test t1(2),t2(4,6); int (Test::*p)(int,int=10); p=Test::get; cout<<(t1.*p)(5)< cout<<(p1->*p)(7,20)< 4. #include char level[7]; friend class process; // 说明友元类 public: student(char na[],int d) { strcpy(name,na); deg=d; } }; class process { public: