c++中的参数传递
运行结果:
java中的参数传递
运行结果:
#include
<
iostream
>
#include < cstdlib >
void fun1( int x, int y)
{
int tmp;
tmp = x;
x = y;
y = tmp;
}
void fun2( int & x, int & y)
{
int tmp;
tmp = x;
x = y;
y = tmp;
}
void fun3( int * x, int * y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
void fun4( int * x, int * y)
{
int* tmp;
tmp = x;
x = y;
y = x;
}
int main()
{
int a = 1;
int b = 2;
fun1(a,b);
printf("a: %d b: %d ",a,b);
a = 1;
b = 2;
fun2(a,b);
printf("a: %d b: %d ",a,b);
a = 1;
b = 2;
fun3(&a,&b);
printf("a: %d b: %d ",a,b);
a = 1;
b = 2;
fun4(&a,&b);
printf("a: %d b: %d ",a,b);
}
#include < cstdlib >
void fun1( int x, int y)
{
int tmp;
tmp = x;
x = y;
y = tmp;
}
void fun2( int & x, int & y)
{
int tmp;
tmp = x;
x = y;
y = tmp;
}
void fun3( int * x, int * y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
void fun4( int * x, int * y)
{
int* tmp;
tmp = x;
x = y;
y = x;
}
int main()
{
int a = 1;
int b = 2;
fun1(a,b);
printf("a: %d b: %d ",a,b);
a = 1;
b = 2;
fun2(a,b);
printf("a: %d b: %d ",a,b);
a = 1;
b = 2;
fun3(&a,&b);
printf("a: %d b: %d ",a,b);
a = 1;
b = 2;
fun4(&a,&b);
printf("a: %d b: %d ",a,b);
}
运行结果:
xjtu129@xjtu129
-
desktop:
~
$ .
/
cpp
a: 1 b: 2
a: 2 b: 1
a: 2 b: 1
a: 1 b: 2
a: 1 b: 2
a: 2 b: 1
a: 2 b: 1
a: 1 b: 2
public
class
javacpp
{
public static void main(String[] args)
{
Employee a = new Employee(1);
Employee b = new Employee(2);
javacpp.swap(a,b);
System.out.println("a " + a.getData() + "b " + b.getData());
javacpp.change(a);
System.out.println("a " + a.getData());
}
public static void swap(Employee a,Employee b)
{
Employee tmp = a;
a = b;
b = tmp;
}
public static void change(Employee a)
{
a.mul(3);
}
}
class Employee
{
Employee(int x)
{
data = x;
}
public int getData()
{
return data;
}
public void mul(int y)
{
data = data * y;
}
private int data;
}
{
public static void main(String[] args)
{
Employee a = new Employee(1);
Employee b = new Employee(2);
javacpp.swap(a,b);
System.out.println("a " + a.getData() + "b " + b.getData());
javacpp.change(a);
System.out.println("a " + a.getData());
}
public static void swap(Employee a,Employee b)
{
Employee tmp = a;
a = b;
b = tmp;
}
public static void change(Employee a)
{
a.mul(3);
}
}
class Employee
{
Employee(int x)
{
data = x;
}
public int getData()
{
return data;
}
public void mul(int y)
{
data = data * y;
}
private int data;
}
xjtu129@xjtu129
-
desktop:
~
$ java javacpp
a 1b 2
a 3
a 1b 2
a 3