填空题参照函数模板的写法,完成非模板函数的定义,语句为
________
。
#include<iostream, h>
#include<string. h>
template<class T>
T min(T a, T b)
{
return(a<b? a:b);
}
char * min(char * a, char * b)
{
__________________________
}
void main()
{
double a=1.23,b=3.45;
char s1[]="abcd",s2[]="erg";
cout<<min(a, b)<<min(s1,s2)<<end1:
}
填空题在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。
已知有如下类定义:
class Base {
protected:
void fun(){}
};
class Derived:Base{};
则Base类中的成员函数fun(),在Derived类中的访问权限是{{U}} 【12】 {{/U}}(注意:要求填写private、protected或public中的一项)。
填空题有以下程序: #include"iostream.h" void main() int i=10; int j=5; cout<<j+i++<endl; 的结果为______。
填空题有如下类声明: class TestClass1 int k; public: void set(int n)k=n; int get()constreturn k; ; class TestClass2:protected TestClass1 protected: int j; public: void set(int m,int n)TestClass1::set(m);j=n; int get()constreturn TestClass1::get()+j;) ; 则类TestClass2中保护的数据成员和成员函数的个数是______。
填空题每个对象都维护了一个指向自身的指针,这个指针称为{{U}} [12] {{/U}}指针
填空题若Xcs是一个类,该类中具有一个函数体为空的不带参数的构造函数,此构造函数的类外定义为______。
填空题组成C++语言的基本符号包括:字母、数字和{{U}} 【6】 {{/U}}。
填空题若有定义语句:int a=3,b=2,c=1;,则表达式a<b ? a:b的值是 【10】 。
填空题以下程序的执行结果是 【15】 。 #include<iostream. h> class Sample public: int x: int y; void disp() cout<<"x="<<x<<",y="<<y<<end1; ; void main() int Sample:: ** pc; Sample s; pc= s.*pc=10; pc:= s.*pc=20; s.disp();
填空题将x+y中的+运算符用友元函数重载应写为 【11】 。
填空题关系数据库系统实现的专门关系运算包括选择、连接和______。
填空题若已知a=10,b=20,则表达式l a < b的值为【 】。
填空题C++语言提供的基本数据类型包括整型、浮点型、逻辑型、空值型和{{U}} 【7】 {{/U}}。
填空题下列程序如果去掉for循环外围的大括号对,则会出现编译错误。错误原因是 【7】 。# include<iostream, h>int a=5;void main() int a=10, b=20; cout<<a<<", "<<b<<end1; int a=0, b=0; for (int i=1;i<8;i++) a+=i; b+=a; cout<<a<<", "<<b<<", "<<:: a<<end1; cout<<a<<", "<<b<<end1;
填空题纯虚函数的声明总是以______结束。
填空题表达式x.operator+(y.operator++(0) )还可以写成 【14】 。
填空题下面程序的预设功能是:统计文件abc.txt中的字符个数。
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
void main()
{
fstream file;
file.open( "abc.txt", ios::in);
if ( !file )
{
cout<<"Can not open abc.txt"<<end1;
abort();
}
char ch;
int i = O;
while (______________)
{
file.get(ch);
i++;
}
cout<<"Characters : "<<i<<end1;
file.close();
}
则程序中空白处应该填入的语句是{{U}} 【15】 {{/U}}。
填空题下列程序的输出结果是{{U}} 【11】 {{/U}}。
#inClude<iostream>
using namespace std;
class Test {
public:
Test() {cnt++;}
~Test(){cnt--;}
static int Count() {return cnt;}
private:
static int cnt;
};
int Test::cnt=0;
int main()
{
cout<<Test::Count()<<”;
Test t1,t2;
Test*pT3=new Test;
Test*pT4=new Test;
cout<<Test::Count()<<'';
delete pT4;
delete pT3;
cout<<Test::Count()<<endl;
return 0;
}
填空题使用VC++6.0打开考生文件夹下的源程序文件3.cpp。程序通过继承关系,实现对姓名的控制。类TC1实现对名字访问的接口,TC2实现对名字的设置和输出。 程序输出为 TC2Name May 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)在类TC1中定义接口函数GetName为纯虚函数。请在注释1后添加适当的语句。 (2)函数GetName2用于获得名字的缓存,但只获得允许读操作这个缓存,请在注释2后添加适当的语句。 (3)实现TC2的构造函数,请在注释3后添加适当的语句。 (4)完成TC2的构造函数,实现对名字的处理。请在注释4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include<iostream.h> class TC1 public: //********1******** ; class TC2:public TC1 public: void GetName() cout<<"TC2Name"<<end1; //********2******** return m_str; //********3******** int 1; for(i=0;str[i]!=0;i++) m_str[i]=str[i]; //********4******** private: char m_str[32]; ; void main() TC1 *p; TC2 obj1("May"); p=&obj1; p—>GetName(); cout<<obj1.GetName2()<<end1; return;
填空题若有如下程序段: #include <iostream> using namespace std; int main() char *p="abcdefgh",*r; long *q; q=(long *)p;q++; r=(char *)q; cout<<r<<end1; return 0; 该程序的输出结果是 【8】 。
