#include "iostream.h"
class A
{
private:
int x;
public:
int y;
void AAA(int a,int b)
{
x=a;
y=b;
}
void print()
{
cout<<x<<y<<endl;
}
};
class B
{
private:
int c;
A Sample;
public:
int d;
void BBB(int c,int d)
{
Sample.AAA(c,d);
}
};
void main()
{
A AA;
B BB;
BB.BBB(10,20);
AA.print();
}
我想问一下,为什么我在调用完BBB()之后,再调用print()的话,x和y的数值就不见了,可我如果在AAA()中添加一个输出语句,查看x和y的值,发现一个是10,一个是20,也就是说赋值成功了,但为什么一最后输出时却是没有数值的呢?这个和析构有关吗?望各位多多指导~~~~~
class A
{
private:
int x;
public:
int y;
void AAA(int a,int b)
{
x=a;
y=b;
}
void print()
{
cout<<x<<y<<endl;
}
};
class B
{
private:
int c;
A Sample;
public:
int d;
void BBB(int c,int d)
{
Sample.AAA(c,d);
}
};
void main()
{
A AA;
B BB;
BB.BBB(10,20);
AA.print();
}
我想问一下,为什么我在调用完BBB()之后,再调用print()的话,x和y的数值就不见了,可我如果在AAA()中添加一个输出语句,查看x和y的值,发现一个是10,一个是20,也就是说赋值成功了,但为什么一最后输出时却是没有数值的呢?这个和析构有关吗?望各位多多指导~~~~~
你的类的概念还没有建立,我建议你多看一看书了!!
BB.Sample.print();
就明白了.
若按下面就发生关系了#include "iostream.h"
class A
{
private:
int x;
public:
int y;
void AAA(int a,int b)
{
x=a;
y=b;
}
void print()
{
cout<<x<<y<<endl;
}
};
class B
{
private:
int c;
A Sample;
public:
B(A& AA)
{ Sample=AA; }
int d;
void BBB(int c,int d)
{
Sample.AAA(c,d);
}
};
void main()
{
A AA;
B BB(AA);
BB.BBB(10,20);
AA.print();
}