VC中如何去声明类?

#include<iostream>usingnamespacestd;classBA;intmain(){BAa(19,10);cout<<a.getx()<<a.ge... #include<iostream>
using namespace std;
class BA;
int main(){
BA a(19,10);
cout<<a.getx()<<a.gety()<<endl;
return 0;
}
class BA{
int x;
int y;
public:
BA(int a,int b):x(a),y(b){};
int getx(){return x;}
int gety(){return y;}
};
为何会出现错误?谢谢了。
展开
 我来答
victor_td
2011-05-31 · 超过35用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:0
展开全部
看上去并没有错,不知报的是什么错误?贴出来看看。
追问
error C2079: 'a' uses undefined class 'BA' //第五行
error C2078: too many initializers//第五行
error C2228: left of '.getx' must have class/struct/union type//第六行cout那句
error C2228: left of '.gety' must have class/struct/union type//第六行cout那句
执行 cl.exe 时出错.
追答
不清楚啊,我记得vc6里是可以这样定义的。
我只能继续关注了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kissofblueice
2011-05-31 · TA获得超过471个赞
知道小有建树答主
回答量:814
采纳率:100%
帮助的人:584万
展开全部
类的定义Class AB{。。。。};整个内容写到main前面去。。
追问
关键是如何声明类?
追答
我先说声明和定义的区别吧,这个包含了所有类型的变量,包括类类型。
int a;是一个整型变量的声明,而int a = 1;就是一个声明再加定义。而char* p;是一个声明,而 p = NULL,就是变量的定义。
class time{};是一个类的声明,因为这样写一般只声明了类里的成员变量(没有初始化的,也不能初始化,除了常量),还有函数的声明。函数声明也就是只有函数名,没有函数体,这个应该了解吧。当然函数声明和定义可以放在一起,一并在clas time{}里面。一般是先声明了函数,再在外面定义函数体,同时也就是类的定义啦。
2、所以总的说,声明就是告诉编译器有这么一个变量,定义就是告诉编译器这个变量有多大,是干什么用的。

类一般是写在.H文件里面声明的。。在CPP文件里面包含你声明的类头文件。

总之你要在用之前就要说明这个类到底有什么东西。。必须写明里面有的变量,和接口函数。。否则程序不知道怎么分配空间。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式