C++ 类的创建

来源:百度知道 编辑:UC知道 时间:2024/05/11 03:06:25
我要建类A和B:A中有一个B*的数据,B中有一个A的数据,另外每个类还有别的数据。然后可以访问其中的变量,要怎样该一下下面的代码才可以通过编译呢?
#include<iostream>
#include<string>
using namespace std;

class B;

class A{
private:
B *a;
int aData;
string aStr;
public:
A(const string &str=""):aData(0),aStr(str){}
void get1(){
a->get2();
}
void get2(){
cout<<"aData="<<aData<<endl;
cout<<"aStr="<<aStr<<endl;
}
};

class B{
private :
A b;
int bData;
const string bStr;
public:
B(const string& str=""):bData(0),bStr(str){}
void get1(){
b.get2();
}
void get2(){
cout<<"bData="<<bData<<endl;
cout<<"bStr="<<bStr<<endl;
}
};

int main(){

return 0;
}

这是我曾经做过的一个程序,参照一下吧:
#include<iostream.h>
#include<math.h>
class xy;
//**********************************************
//*********************ra类*********************
//**********************************************
class ra
{
public:
double r,a;
ra(double rr=20,double aa=10){r=rr;a=aa;}//ra构造函数
ra(const ra &p){r=p.r;a=p.a;}//ra拷贝构造函数
friend istream &operator>>(istream &in,ra &ob);//ra">>"
friend ostream &operator<<(ostream &out,ra &ob);//ra"<<"
operator double(){return r;}//double转换
operator xy();//xy类转换,函数体必须放到类外面
};
istream &operator>>(istream &in,ra &ob)//ra">>"
{
cout<<"输入r、a的值:"<<endl;
cout<<"r:";
in>>ob.r;
cout<<"a:";
in>>ob.a;
return in;
}
ostream &operator<<(ostream &out,ra &ob)//ra&