C语言改错2

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:46:03
#include<iostream.h>
class A
{ int x,y;
public:
A(int a) { x = a;y = 0;}
A(int a = 0,int b = 0) {x = a;y = b;}
};
main()
{ A al(2);
al.x=2;
}
请改正,并说明原因, 谢谢 谢谢

class A
{
int x,y;
public:
//A(int a) { x = a;y = 0;}
A(int a = 0,int b = 0) {x = a;y = b;}
int Getx(){return x;}
void Setx(int t){x=t;}
};
void main()
{
//两个构造函数有重复的,第二个使用的是两个默认参数,也就是说,第一个构造函数包含于第二个
//当条用构造函数时,系统不知道要使用哪一个构造函数。可以删掉第一个构造函数。
A al(2);

//x是A的私有数据成员,主方法中,对象不能直接访问。
//要修改或者获取x的值,可以增加两个方法Setx(int t)和Getx();
//同样y也可以,增加两个类似的方法。
cout<<al.Getx()<<endl;
al.Setx(4);
cout<<al.Getx()<<endl;
//al.x=2;
}

#include<iostream.h>
class A
{ int x,y;
public:
A(int b) { x = a;y = 0;}
A(int ab = 0,int b = 0) {x = a;y = b;}
};
main()
{ A a(2);////
al.x=2;
}

这个没看懂你要干嘛。。没有输出语句也?报错了?

当然错了,C语言里面能有class语句?C可以定义类??