找高手请教一下C++中类与类的各种关系?最好能举例!谢谢!~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/07 18:27:49
我是大一的新生,立志想做一个程序员!现在学到类与类的关系,不太懂想请高手帮忙指点一下~~~~~~~~~~~~~~~~~
PS:想学C++编程的都可以和本人做朋友!
QQ:531317956

假设类是一个人,现在有一个类,名字是father:
class father{
public:
int 客厅;
void mother(void); //father类的友元函数(father的好朋友)
protected:
int 起居室;
private:
int 保险箱中的私房钱;
}
如果他有个儿子(或女儿),那么很显然,他的继承人可以访问公有成员:客厅;可以进入他的起居室到处看看;但是拿不到他的私房钱。

如果有一个陌生人来了(比如送外卖的),那么这人只能访问公有成员:客厅;无法进入起居室;更不用说拿私房钱了(除非是小偷)。

如果father有一个非常非常要好的朋友(比如他老婆),那么此人就能够访问该类中的所有成员!

好,了解了上面的内容之后就来看一下到底怎样写代码:
class son : public father{
public:
void test(void){
int a, b, c;
a = 客厅; //ok
b = 起居室; //ok
c = 保险箱中的私房钱; //error: member is inaccessable
}
};
void stranger(void){
int a, b, c;
son x;
father y;

a = x.客厅; //ok
b = x.起居室; //error
c = x.保险箱中的私房钱; //error

a = y.客厅; //ok
b = y.起居室; //error
c = y.保险箱中的私房钱; //error
}
void mother(void){
int a, b, c;
son x;
father y;