面向对象技术c试题.doc
文本预览下载声明
C++程序设计试题
系 专业 班 姓名 学号
一、写出下列程序的执行结果:(每小题5分,共50分)
1、
#include iostream.h
class sample
{
public:
sample();
sample(int);
~sample();
void display();
protected:
int x;
};
sample::sample()
{
x=0;
cout”constructing normally\n”;
}
sample::sample(int m)
{
x=m;
cout”constructing with a number:”xendl;
}
sample::~sample()
{
cout”destructing\n”;
}
void sample::display()
{
cout”display a number:”xendl;
}
void main()
{
sample obj1;
sample obj2(20);
obj1.display();
obj2.display();
}
答案:
2、
# include iostream.h
class vehicle
{
int wheels;
float weight;
public:
virtual void message()
{cout”vehicle message\n”;}
};
class car:public vehicle
{
int passengers;
public:
void message(){
cout”car message\n”;}
};
class truck:public vehicle
{
int goods;
public:
void message(){
cout”truck message\n”;}
};
void main()
{
vehicle obj,*ptr;
car obj1;
truck obj2;
ptr=obj;
prt-message();
ptr=obj1;
ptr-message();
ptr=obj2;
ptr-message()
}
答案:
3、
#include iostream.h
class complex
{
public:
complex(double ,double );
complex(complex);
complex();
complex operator +(complex);
complex operator =(complex);
void display();
protected:
double real;
double image;
};
complex::complex(double x,double y)
{ real=x,image=y;}
complex::complex(complex x)
{
cout”Runing copy constructor\n”
real=x.real;
image=x.image;
}
complex::complex()
{real=image=0.0;}
complex complex::operator +(complex x)
{
return complex(real+x.real,image+x.image);
}
complex complex::operator =(complexx)
{
cout”Runing assign operator\n”;
real+=x.real;
image+=x.image;
return *this;
}
viod complex::display()
{
coutreal”+”image”i”endl;
}
void main()
{
complex c1(2,5);
complex c2(c1);
complex c3;
c3=c1+c2;
c3.display();
}
答案:
4、
#include iostream.h
class sample
{
int i;
double d;
public:
void setdata(int n) {i=n;}
void setdata(double x) {d=x;}
void disp()
{
cout”i=”i”,d=”dendl;
}
};
void main()
{
sample s;
s.setdata(10);
s.setdata(15.6);
s.disp();
}
答案:
5、
#includ
显示全部