C++中如果要用的类定义在使用之后,该怎样声明?

例题如下:#include<iostream.h>#include<stdio.h>#include<conio.h>classA;classB{private:inti... 例题如下:
#include<iostream.h>
#include<stdio.h>
#include <conio.h>
class A ;
class B {
private:
int i ;
A a;
public:
B(int t , A b):a(b){
i = t ;
}
};

class A {
private:
int i ;
int j ;
public:
int geti() {
return i ;
}
A(int a , int b ){
i = a ;
j = b ;
}
};
int main() {
A a(2,3) ;
B(1,a) ;
return 0 ;
}
展开
 我来答
匿名用户
2013-09-22
展开全部
这个声明,有时称为前向声明(forward declaraton),在声明之后、定义之前,类A是一个不完全类型(incompete type),即已知A是一个类型,但不知道包含哪些成员。
不完全类型(incomplete type)只能以有限方式使用。不能定义该类型的对象。不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数。

#include<iostream.h>
#include<stdio.h>
#include <conio.h>

class A;

class B {
private:
int i;
A &a;
public:
B(int t, A &b):a(b){
i = t;
}
};

class A {
private:
int i;
int j;
public:
int geti() {
return i;
}
A(int a, int b ){
i = a;
j = b;
}
};

int main() {
A a(2,3);
B(1,a);
return 0;
}
匿名用户
2013-09-22
展开全部
1、类体内包含有数据成员和成员函数。还可以包含另一个类的对象和指向对象的指针。
2、在类体内允许对成员函数进行定义,但是不允许对数据成员进行初始化。
3、一般地,在类体内先说明公有函数,再说明私有函数。
4、习惯于将类的定义的说明部分或整个定义部分放在一个头文件中。这样作是为了以后引用起来比较方便。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式