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;}
};
为何会出现错误?谢谢了。 展开
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;}
};
为何会出现错误?谢谢了。 展开
2个回答
展开全部
看上去并没有错,不知报的是什么错误?贴出来看看。
追问
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里是可以这样定义的。
我只能继续关注了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类的定义Class AB{。。。。};整个内容写到main前面去。。
追问
关键是如何声明类?
追答
我先说声明和定义的区别吧,这个包含了所有类型的变量,包括类类型。
int a;是一个整型变量的声明,而int a = 1;就是一个声明再加定义。而char* p;是一个声明,而 p = NULL,就是变量的定义。
class time{};是一个类的声明,因为这样写一般只声明了类里的成员变量(没有初始化的,也不能初始化,除了常量),还有函数的声明。函数声明也就是只有函数名,没有函数体,这个应该了解吧。当然函数声明和定义可以放在一起,一并在clas time{}里面。一般是先声明了函数,再在外面定义函数体,同时也就是类的定义啦。
2、所以总的说,声明就是告诉编译器有这么一个变量,定义就是告诉编译器这个变量有多大,是干什么用的。
类一般是写在.H文件里面声明的。。在CPP文件里面包含你声明的类头文件。
总之你要在用之前就要说明这个类到底有什么东西。。必须写明里面有的变量,和接口函数。。否则程序不知道怎么分配空间。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询