分析下列程序,指出该程序中定义了几种常类型量。 #include class C { public: C(int i) { p=i; } int getp() { return p; } const int fun(int i)const { return p+i; } private: int p; }; void main() { C a(4); const int b=a.fun(6); int c=a.getp(); cout
举一反三
- 下面代码正确的是( ) A: int * fun(){int *p=new int[10];for(int i=0;i<10;++i)p[i]=i;return p;} B: int *fun(){int p[10];for(int i=0;i<10;++i)p[i]=i;return p;} C: int *fun( ){a=10;return &a;} D: int *fun( ){int a=5,*p=&a;return p;}
- 下面不正确的函数重载是________。 A: int A1(float &r) { return 1; } int A1 (float const &r) { return 1; } B: float A1(int *const p) { return 1; } float A1 (const int *p) { return 1; } C: int A1 (float * const p) { return 1; } int A1(float const * const p) { return 1; } D: float A1 (int const *const p) { return 1; } float A1(const int *p) { return 1; }
- 如有定义const int i=5; const int j=3; const int *p=&i; 则执行语句p=&j; 是合法的。
- 有如下程序: #include <iostream> using namespace std; class sample private: int x, y; public: sample(int i,int j) x=i; y=j; void disp() cout<<"displ"<<end1; void disp() const cout<<"disp2"<<end1; ; int main () const sample a(i,2); a.disp (); return 0; 该程序运行后的输出结果是( )。 A: disp1 B: disp2 C: disp1 disp2 D: 程序编译时出错
- 写出下列程序的执行结果是:__________________。#include<;iostream>;using namespace std;int f1( int a, int b ) { return a + b ;}int f2( int a, int b ){ return a - b ;}int f3( int( *t )( int, int ), int a, int b ) { return ( *t )( a, b ) ;}void main(){ int ( *p )( int, int ); p = f1 ; cout <;<; f3( p, 4, 8 ) <;<;","; p = f2 ; cout <;<; f3( p, 8, 4 );}