面向对象离线离线作业
浙江大学远程教育学院
《面向对象程序
》课程作业
713005012007 姓名: 曹明敏 学 号:
: 2013 春 学习中心: 杭州
————————————————————————————— 第2章
【2.3】 测试下面的注释(它在C++风格的单行注释中套入了类似于C的注释)是
否有效。
//this is a strange /*way to do a comment*/
此注释有效,单行注释中可以嵌套/*…….*/方式的注释。 【2.4】 以下这个简短的C++程序不可能编译通过,为什么,
#include
using namespace std;
int main()
{int a,b,c;
cout<<"Enter two numbers:";
cin>>a>>b;
c=sum(a,b);
cout<<"sum is:"<函数的定义在后,而对它的调用在前时,必须将该函数的原型写在调用语句之前,而在本程序中缺少函数原型语句。在语句“using namespace std;”后加上函数原型语句“sum(int a,int b );” 就可通过编译。
【2.5】 回答问题。
(1) 以下两个函数原型是否等价:
float fun(int a,float b,char *c);
float fun(int,float,char * );
这两个函数原型是等价的,因为函数原型中的参数名可以缺省。
(2) 以下两个函数的第一行是否等价:
float fun(int a,float b,char * c);
float fun(int,float,char * );
两个函数的第一行是不等价的,因为这个函数的第一行中必须包
含参数名。
【2.6】 下列语句中错误的是( D )。
A(int *p=new int(10); B(int *p=new int[10];
C(int *p=new int; D(int *p=new int[40](0);
【2.7】 假设已经有定义“const char * const name="chen";”下面的语句中
正确的是( D )。
A. name[3]='a'; B. name="lin";
C. name=new char[5]; D. cout<
using namespace std;
int i=15;
int main()
{ int i;
i=100;
::i=i+1;
cout<<::i<
using namespace std;
void f(int &m,int n)
{ int temp;
temp=m;
m=n;
n=temp;
}
int main()
{ int a=5,b=10;
f(a,b);
cout<
using namespace std;
int &f(int &i)
{ i+=10;
return i;
}
int main()
{ int k=0;
int &m=f(k);
cout< using namespace std; # define A 2+4
# define B A*3
int main()
{
cout<
using namespace std;
const A=2+4;
const B=A*3;
int main()
{
cout<
using namespace std;
int main()
{
int *p=new int[20];
*p=1;
*(p+1)=1;
cout<<*p<<"\t"<<*(p+1)<<"\t";
p=p+2;
for (int i=3;i<=20;i++)
{
*p=*(p-1) + *(p-2);
cout <<*p<<"\t";
if(i%5==0) cout<标准