【发布时间】:2014-07-30 12:34:14
【问题描述】:
我有一个关于类和对象的问题。首先这是我的程序。
#include <iostream>
#include <conio.h>
using namespace std;
class Class1{
private:
int x;
public:
Class1();
void Display();
};
class Class2{
private:
double z;
public:
Class2();
void Display();
Class2 Add(Class1);
};
Class1::Class1(){ x = 1; }
Class2::Class2(){ z = 5; }
void Class1::Display(){ cout<<x<<"\n"; }
void Class2::Display(){ cout<<z<<"\n"; }
Class2 Class2::Add(Class1 t){
Class2 y;
y.z = t.x + z;
return y;
}
int main(){
Class1 ob1; // ob1 = 1 //
Class2 ob2,ob_x; // ob2 = 5 | ob_x = 5 //
ob_x = ob2.Add(ob1); // Add ob + ob1 and Assigned them to ob_x //
ob_x.Display();
cout<<endl;
getche();
return 0;
}
我想你知道错误在哪里,我怎样才能访问另一个班级成员? 我的意思是我们没有在大学里学过,我们所知道的就是这么简单。我可以用另一个可以访问这两个类的全局函数来做到这一点吗?如果可以提供一些小技巧,请提供帮助,谢谢
【问题讨论】:
-
听说过 getter/setter 方法吗?
-
@user3723837 '但这有什么帮助呢?' 提供对底层内部私有数据成员的访问权限?!?你在理解这个原则上有什么特别的问题??
-
@user3723837 也许重用他们的 getter/setter 方法??
-
大胆的建议我知道,但你有没有考虑向你的大学讲师/导师寻求帮助?大概这就是他们的报酬。 Stackoverflow 并不适合学习一门语言。