现在的位置: 首页 > 综合 > 正文

对象间值传递,函数参数按值,引用传递_legend

2014年09月05日 ⁄ 综合 ⁄ 共 1104字 ⁄ 字号 评论关闭

 一: 如何在两个类A和B中传递Value??

 (1)方法一:
 
 两个类中都有这个要传递的value成员变量。
 均有getValue(),setValue() 函数。
 
 从一个类中getValue(),然后将value通过另一个类的setValue()
 就可以了 。
 
 
 
二:  两个类A和B如何共享一个变量value??

 (1)方法一:
 
 将需要共享的变量value放在一个父类中,并且声明为static ,然后类A和类B,分别继承于这个父类。
 
 (C语言中,static 修饰变量的作用: 1.隐藏 2. 持久性 3.默认初始化为0 ,并且只初始化一次)
 
 (2)方法二:
 
 value为全局变量(不推荐)
 或者:
 value为这两个类A,B 范围内的局部变量,但是声明为static.
 或者:
 
 外部管理变量value,并把value的指针传给这两个对象A和B。
 
三: 两个对象A和B之间的单值传递value:

 (如A向B传递Value)
 
 (1)方法一:
 value为B的成员变量,在A的类中定义一个Value类型的变量,通过B的setValue()来传递value;
 
 百度:C++/java两个类之间如何数据传递
 
四: 两个类对象A和B,A中有变量n,但是B需要用到A中的n。 如何传递n?

 (1)方法一:
 
  B 要用到A 中的n(也可以是结构体),在B 中定义一个与n同类型的成员变量nDemo, 然后在B中定义一个函数,是以A对象或者A的对象指针

  或者n类型的变量(指针)作为参数,然后获取A中的n,赋值给成员变量nDemo。
  
  然后A如何调用B的这个函数将n传递给B中的nDemo呢?
  
  1.如果为类外传递:
  
  即在A类外传递,则直接在B中的函数的参数是n类型的变量或者变量指针。
  (具体情况,分为按值传递,和引用传递)
  
  2.如果在A类内传递:
 
   在A类中定义B类对象(指针)Btemp作为成员变量,然后通过Btemp调用函数来传递。
  
  
五:函数参数的按值传递与引用传递:

 (1)按值传递:(不共享数据,仅仅数据传递)
 
 将一个参数传递给一个函数时,函数接收的是原始值的一个副本。
 因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。
 
 (2)引用传递:(如共享数据)
 
 将一个参数传递给一个函数时,函数接收的是原始值的内存地址,不是值的副本。
 因此,如果函数修改了该参数指向的内容,调用代码中的原始值也随之改变。

(3)从A到B中传递 到底是按值传递,还是引用传递 ??

传递之后,经过B中处理,是否希望A中的实参发生变化?

如果希望A中实参发生变化,则引用传递,

否则按值传递。

 
 
 
 
 
 
  

抱歉!评论已关闭.