类的对象:
1)类名可以和对象名相同
2)定义对象的格式为:class 类名 对象名;class可以省略
类的函数的声明和定义:
1)类有预声明,声明,定义的操作
2)在对A类中的函数进行定义的时候,如果A类中的函数使用了B类上的对象,那么需要在定义该函数之前先声明B类,注意是声明,不是预声明
#include<iostream>
using namespace std;
class B;//预声明,告诉编译器后面会对B类进行声明(和定义)
//对A类进行声明
class A
{
public:
void find_B(B &B_obj);
void A_pu();
};
//对B类进行声明
class B
{
public:
void find_A(A &A_obj);
void B_pu();
};
//对A类的函数进行定义
void A::find_B(B &B_obj)
{
B_obj.B_pu(); //在对A类中的函数进行定义的时候,如果A类中的函数使用了B类上的对象,那么我们需要定义这个函数之前对B类进行声明,否则报错
}
void A::A_pu()
{
cout<<"this is A_pu"<<endl;
}
//对B类的函数进行定义
void B::B_pu()
{
cout<<"this is B_pu"<<endl;
}
void B::find_A(A &A_obj)
{
A_obj.A_pu();
}
int main()
{
class A a;//class可以省略
B B;//类名可以和对象名相同
a.find_B(B);
B.find_A(a);
}