11.29 上海新政策出台:请江湖朋友看看下面的程序有什么错误,谢谢

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/09 19:44:16
1
#include<iostream.h>
template <class tt>
class ff{
tt a1,a2,a3;
public:
ff(tt b1,tt b2,tt b3)
{a1=b1;a2=b2;a3=b3;}};
void main()
{ff<int> x(2,3,4),y(5,7,9);
cout<<x.ff()<<' '<<y.ff()<<endl;}

2
#include <iostream,h>
void main()
{int s=0;
for (int i=1;i++)
if(s>50) break;
if (i%2==0) s+=i;
cout<<"i,s="<<i<<","<<s<<endl;}
#include <iostream,h>
class h{
int a,b;
public:
h(){a=b=0;}
h(int aa,int bb){
a=aa;b=bb;
count<<a<<' '<<b<<endl;}
};
void main()
{h x,y(2,3)z(4,5);}

1, 你cout<<x.ff()<<' '<<y.ff()<<endl;这句是什么意思啊?ff是构造函数,根本就不需要你显式调用,在ff<int> x(2,3,4),y(5,7,9);这一句就已经调用过了,况且C++不允许这样,当然就出错了。

2,for (int i=1;i++)这句又是什么意思啊,for语句中必须有3个子句,没有的也要将分号打上,语法错误。
改为:
for(int i = 1; i; i++)
{
if(s>50) break;
if (i%2==0) s+=i;
}
就可以了

3,{h x,y(2,3)z(4,5);}少了个逗号,
改为{h x,y(2,3),z(4,5);}就可以了

朋友,你的语言基础还很差,没有学会走前别去学跑,我劝你还是先从语法学起,从最基础的学起,千里之行,始于足下