这是我们的C++考试题,英语的,能不能麻烦各位高手帮我做一下啊,据说很简单的

用中文回答就行,越规范越简洁正确越好,我要打印下来的。网页上没法显示黑体,我就用引号了

一.1.Describe the differences between the "pointer" and "reference".
2.A class mainly contains two kinds of members.What are they?
3.Compare the two ways to define a constant .Decide which way is better and tell the reason:
#define BUFSIZE 256
Const int bufsize=256
4.Please tell the difference among "public","protected" and "private" in a class.
5.Describe the "constructor" and "destructor" of class.
6.How to define the "copy constructor" ? Give an exemple to explain.
7.Give an example to implement the "polymorphism" in object-oriented programming.
8.How to define a "pure virtual function" ? Give an example.
9.How to define a "template function" ? Give an exemple to explain.
10.What is the "inline function" ?

三.Find out the error in the following code and give the reason.
1.class X{
private:
int a;
};
Class Y: public X{
public:
void set(int c){
This->a=c;
}
};
int main(){
Y y1;
y1.set(10);
return 0;
}

2.class X{
public :
int func(void){
return a++;
}
int a;
};
class Y:public X{
public :
int describe () const{
return func();
}
};
四.1.Please put the content in the following array ia into a vector and sort the data in ascend ,then output the result into standard stream.
int ia[]={46,4,89,3,5,78,12}

2.Please design a complex(复数) class which can be presented as a+bi .It implements the complex operations :+ ,-,x,÷.The rule for complex addition as follow:
suppose:C1:a1+b1i
C2:a2+b2i
C3=C1+C2
then
C3=(a1+a2)+(b1+b2)i
You reasonably use the "cpevator overloading".
就是,太鄙视一楼的翻译了。顶二楼,不过还是希望看看有没有其他更好的答案

一.1.Describe the differences between the "pointer" and "reference".
指针和引用的区别:1.指针是一个实体,而引用仅是个别名;
2.引用只能在定义时被初始化一次,之后不可变;指针可变;
3.引用不能为空,指针可以为空;
2.A class mainly contains two kinds of members.What are they?
一个累包含的2种成员:1:数据成员 2:成员函数.
3.Compare the two ways to define a constant .Decide which way is better and tell the reason:
#define BUFSIZE 256
Const int bufsize=256
答: Const int bufsize=256更好,因为使用#define没有只是代码替换没有数据
类型检查,可能会出错
4.Please tell the difference among "public","protected" and "private" in a class.
答:1公有成员public
在程序的任何地方都可以被访问
2私有成员private
只能被成员函数和类的友元访问
3被保护成员protected
可以被子类访问
对其他程序则表现得像private
5.Describe the "constructor" and "destructor" of class.
构造函数是实例化一个对象。
析构函数销毁一个对象。
6.How to define the "copy constructor" ? Give an exemple to explain.
例子:
Example::Example(const Example& t) //拷贝构造函数的定义  
 {  
 nSize=t.nSize; //复制常规成员
  pBuffer=new char[nSize]; //复制指针指向的内容
  memcpy(t.pBuffer,pBuffer,nSize*sizeof(char));
  }
7.Give an example to implement the "polymorphism" in object-oriented programming.
#include <iostream>
using namespace std;
class B{
public:
void virtual vf() { cout << "This is class B" << endl; }
};
class D: public B{
public:
void vf() { cout << "This is class D" << endl; }
};
main(){
B b, *pb;
D d, *pd;
pb = &b; pb->vf();
pb = &d; pb->vf();
pd = (D*)&b; pd->vf();
pd = &d; pd->vf();
}
8.How to define a "pure virtual function" ? Give an example.

class B{
public:
void virtual vf() { } = 0;
};

9.How to define a "template function" ? Give an exemple to explain.

template<class T>
void fu(T,T){ cout < < "template version fun(T,T) called " < <endl;}

10.What is the "inline function" ?
内联函数:编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码
中用inline修饰,但是否能形成内联函数,需要看编译器对该函数定义的具体处理。
三.Find out the error in the following code and give the reason.
1.class X{
private: //这里错,,要用protected;
int a;
};
Class Y: public X{
public:
void set(int c){
This->a=c;
}
};
int main(){
Y y1;
y1.set(10);
return 0;
}

2.class X{
public :
int func(void){
return a++;
}
int a;
};
class Y:public X{
public :
int describe () const{ //这里错,不能有const
return func();
}
};
四.1.Please put the content in the following array ia into a vector and sort the data in ascend ,then output the result into standard stream.
int ia[]={46,4,89,3,5,78,12}

2.Please design a complex(复数) class which can be presented as a+bi .It implements the complex operations :+ ,-,x,÷.The rule for complex addition as follow:
suppose:C1:a1+b1i
C2:a2+b2i
C3=C1+C2
then
C3=(a1+a2)+(b1+b2)i
You reasonably use the "cpevator overloading".

答:
class RealNum{
public:

RealNum(double temp_x,double temp_y){
x = temp_x ;
y = temp_y ;
}

virtual double oper() = 0;

protected:
double x;
double y;
};

class Plus:public RealNum{
public:
Plus(double temp_x,double temp_y):RealNum(temp_x,temp_y){
}
double oper(){
return this ->x + this ->y;
}
};

class subtract:public RealNum{
public:
subtract(double temp_x,double temp_y):RealNum(temp_x,temp_y){
}
double oper(){
return this ->x - this ->y;
}
};

class multiply:public RealNum{
public:
multiply(double temp_x,double temp_y):RealNum(temp_x,temp_y){
}
double oper(){
return this ->x * this ->y;
}
};

class division:public RealNum{
public:
division(double temp_x,double temp_y):RealNum(temp_x,temp_y){
}
double oper(){
return this ->x / this ->y;
}
};

打了很久!希望你采纳!可能不是全对,但还是可信的
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-20
是清华的ACM试题吧,我刚做完,你试试看。

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

struct item{
char key;
int priority;
struct item** smaller;
struct item** greater;
};

typedef struct item Item;

int placeToAdd(Item** a,char b,int n){
int i;
for(i=0;i<n;i++){
if((a[i]->key)==b) return i;
else if((a[i]->key)==' ') {
a[i]->key=b;
return i;
}
}
if(i>=n) return -1;
}

int hasCompared(Item** a,int i,int j,int n){
int m=0;
if(i==j)return -1;
while((((a[i]->greater[m])!=0||a[i]->smaller[m])!=0)&&m<n){
if((a[i]->greater[m])==a[j]) return 1;
else if((a[i]->smaller[m])==a[j]) return -1;
m++;
}
if(m<n){
a[i]->greater[m]=a[j];
m=0;
while((a[j]->smaller[m])!=0&&m<n) m++;
if(m<n) a[j]->smaller[m]=a[i];
return 0;
}
}

int keySetting(int i,int j,Item** a,int n){
int m=hasCompared(a,i,j,n);
if(m==-1) return -1;
else if(m==1) return 1;
else{
if(a[i]->priority>=a[j]->priority) a[j]->priority=a[i]->priority+1;
int k=0;
while((a[j]->greater[k])!=0&&k<n){
a[j]->greater[k]->priority+=1;
k++;
}
return 0;
}
}

int main(){
int l,m,n,i,j;
int unsorted=0,inconsistent=0;
char sign,first,second;
cin>>m>>n;
if(m==0||n==0){
cout<<"Sorted sequence cannot be determined."<<endl;
return 1;
}
Item** a=new Item *[m];
for(i=0;i<m;i++){
a[i]=new Item;
a[i]->key=' ';
a[i]->priority=0;
a[i]->smaller= new Item *[m];
a[i]->greater=new Item *[m];
for(j=0;j<m;j++){
a[i]->smaller[j]=0;
a[i]->greater[j]=0;
}
}
l=n;
while(n>0){
cin>>first>>sign>>second;
i=placeToAdd(a,first,m);
j=placeToAdd(a,second,m);
if(i!=-1&&j!=-1){
if(keySetting(i,j,a,m)==-1) inconsistent=1;
}
else unsorted=1;
n--;
}
if(unsorted) cout<<"Sorted sequence cannot be determined."<<endl;
else if(inconsistent) cout<<"Inconsistency found after "<<l<<" relations."<<endl;
else{
int min;
for(i=0;i<m-1;i++){
min=i;
for(j=i+1;j<m;j++){
if((a[j]->priority)<(a[min]->priority)) min=j;
else if((a[j]->priority)==(a[min]->priority)) unsorted=1;
}
Item* temp=a[i];
a[i]=a[min];
a[min]=temp;
}
if(unsorted) cout<<"Sorted sequence cannot be determined."<<endl;
else{
cout<<"Sorted sequence determined after "<<l<<" relations: ";
for(i=0;i<m;i++)
cout<<(a[i]->key);
cout<<endl;
}
}
for(i=0;i<m;i++){
delete[] (a[i]->smaller);
delete[] (a[i]->greater);
delete a[i];
}
delete[] a;
return 0;
}本回答被提问者采纳
第2个回答  2011-07-19
自动检测中英文中译英英译中 百度翻译
翻译结果(英 > 中)复制结果

1.describe之间的差异的“指针”和“参考”。

2类。主要包含2种members.what他们?

3.compare的方法来定义一个常数。决定哪种方式更好,告诉原因:

#定义bufsize256

整型常量bufsize=256

4.please告诉之间的差异,“公共”,“保护”和“私人”在一个班级。

5.describe“建设者”和“破坏者”级。

6.how界定“复制构造函数”?为例说明。

7.give例子执行“多态性”在面向对象编程。

8.how定义一个“纯虚拟函数”?举一个例子。

9.how定义一个“模板”功能?为例说明。

10.what是“内联函数”?

三。找出错误在下面的代码和给予的原因。

1.class×{

私人的:

返回一个;

};

类:公共×{

公开:

设置(第三){

这- >=丙;

}

};

诠释主体(){

你日圆;

第一集(10);

返回0;

}

2.class×{

公开:

国际功能(无效){

返回一个+ +;

}

返回一个;

};

类:公共×{

公开:

在描述()常量{

返回函数();

}

};

四。1.please把内容在以下数组是成为一个向量和排序数据上,然后将结果输出到标准流。

国际自动化[]={46,4,89,3,5,78,12}

2.please设计一个复杂(复数)类,可以作为一个联系。它实现了复杂的操作:+,-,×,÷。规则复杂除了如下:

假设:C 1:A 1+b1i

芹菜:2+b2i

c=C 1+C 2

然后

c=(1+2)+(A+B)i

你合理地使用“cpevator超载”。
第3个回答  2011-07-20
顶楼上...另外,,,鄙视一楼的...严重鄙视

c++ 有一道题目麻烦各位帮我看看我做的哪里错了,谢谢!
一开始就错了。既然是用switch语句,那么p是整型,而不能定为实型。从各个奖金的区间来看,你分的各种case基本都错了,从case 2开始,后面都错了。而且题目没有如果输入p的值是负数的错误提示。整个程序基本上错得差不多了。

...C++考试,老师说了题目·叫我们找答案,麻烦各位网友帮忙完成下。小...
1、结构化:把完成某一个任务的复杂的过程分解为子过程,子过程再分解,一直到某些相对简单的过程。关键词:算法分解或过程分解。面向对象就是将一个复杂的系统分解为一些合适实体(对象),由这些实体共同提供系统的功能(有人称为业务,我觉得业务这个术语用在这里不太好,因为这容易使人产生疑惑)。关键...

“学渣”试卷曝光,在试卷上搞涂鸦,他们是怎么想的?
这个学生算是深得因地制宜的奥秘。利用了数学试卷上的抛物线图,加以想象发挥,瞬间就变成了一个体态妖娆地美女,看到那魔性的笑容,夸张地姿态,老师也会忍俊不禁,只不过,想象再丰富也没用,毕竟这不是美术考试。这个同学是不是对数学有什么误会?题目让你算面积,结果他直接画出了一个手势,还在旁...

一个非常棘手的问题,希望哥哥姐姐们给我回答,给我帮助
我是一个学校的行政助理,就是那种培训学校的,我才进这家学校工作10天左右,也就是新人。我们是分校,总校在另外一个城市,但是总校要求行政助理每天晚上5点之前以邮件的形式汇报一下当天的家长电话咨询量和家长的约访详细信息(如,家长姓名,联系电话,学生姓名,学生需要培训的科目,学生的在读学校以及是如何得知我们学校...

这道题不知道该怎么做麻烦各位知识渊博的网友们解答一下谢谢大家
设直线AB为y=kx+b,k≠0,把A,B的坐标代入,解方程组得k=-9\/8,b=3\/2 所以直线AB表达式为y=-9\/8*k+9\/2 参考图1 (3)因为DFGE是菱形,所以DE∥FG,且DE=FG,且DE=DF 不妨设G的横坐标xG=m,xF=xG,所以G(m,4\/m),F(m,3\/4*m+2)因为E在D下方,所以G在F下方,DE=...

麻烦各位英语高手了,拜托大家帮忙翻译一下,谢谢啦!
B: 是啊。Z: 那么我将会买WPA险种 B: 那会包含破损险么?你知道的,花瓶是易碎产品。Z: 破损险被归纳为不相干的风险。但是如果你要求这样,我们将会为你将破损险包含进去 B: 那谁来为它支付这个额外的费用呢?Z: 这个附加费会由买家支付。也就是你们。B: 我明白了。请安排吧。第一张图片 B...

这道题怎么做?麻烦各位说一下,拜托了,谢谢,我一定会主动采纳你们的答案...
这最主要是靠你对加减法乘除法的关系的掌握,记住了,加数加加数等于和,被减数减减数等于差,因数乘因数等于积,被除数除以除数等于商,这几个关系式套进去就可以了,希望能帮到你。

关于英语的一道题(要有明确解释,麻烦各位英语高手啊,拜托了!!)
选4 是根据句意得出的 ——我能帮你吗?——好吧,我想要___ 来烹调蔬菜 1.两杯茶 2.两片面包 3.一碗饺子 4.5斤油 所以选4了!希望能帮到你,祝你学习进步!

麻烦各位英语大师帮我翻译一下这张小票什么意思 谢谢!
外国那边买东西它一般还要分开算税的,subtotal是你买东西总共花的钱,然后它根据328乘上它们当地的那个rate也就是税率,算出来你还要多交19.68的税,所以说你一共花了347.68,total payment就是你总共付的钱,也就是347.68. 希望对你有帮助!

麻烦一下英语厉害的朋友
能不能帮我一下。2)情态动词 could, would。例如: Could you lend me your bike? 你的自行车,能借用一些吗?11.3 used to \/ be used to used to + do:"过去常常"表示过去习惯性的动作或状态,但如今已不存在。例如: Mother used not to be so forgetful. 老妈过去没那么健忘。 Scarf used to take a...

相似回答
大家正在搜