Advertisement
Guest User

plz healp abby

a guest
Jan 18th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. struct pair{
  5. int tvalue1 = 6;
  6. int tvalue2 = 8;
  7. } x;
  8.  
  9. void swap_value(int a, int b)
  10. {
  11. int temp = a;
  12. a = b;
  13. b = temp;
  14. }
  15. void swap_reference(int &a, int &b)
  16. {
  17. int temp = a;
  18. a = b;
  19. b = temp;
  20. }
  21. void swap_pointer(int *a, int *b)
  22. {
  23. int temp = *a;
  24. *a = *b;
  25. *b = temp;
  26. }
  27.  
  28. void swap_value(pair p)
  29. {
  30. int temp = x.tvalue1;
  31. x.tvalue1 = x.tvalue2;
  32. x.tvalue2 = temp;
  33. }
  34. void swap_reference(pair &p)
  35. {
  36. int temp = x.tvalue1;
  37. x.tvalue1 = x.tvalue2;
  38. x.tvalue2 = temp;
  39. }
  40. // void swap_pointer(pair *p)
  41. // {
  42. // int temp = x.tvalue1;
  43. // x.tvalue1 = x.tvalue2;
  44. // x.tvalue2 = temp;
  45. // }
  46.  
  47.  
  48.  
  49. int main()
  50. {
  51. int testvalue1 = 5;
  52. int testvalue2 = 7;
  53. int &testreference1 = testvalue1;
  54. int &testreference2 = testvalue2;
  55. int *testpointer1 = &testreference1;
  56. int *testpointer2 = &testreference2;
  57.  
  58.  
  59. swap_value(testvalue1,testvalue2);
  60. std::cout << "Test Value 1: " << testvalue1 << " Test Value 2: "<< testvalue2 << std::endl;
  61. // Does not swap
  62. swap_reference(testreference1, testreference2);
  63. std::cout << "Test Value 1: " << testvalue1 << " Test Value 2: "<< testvalue2 << std::endl;
  64. // Does swap
  65. swap_pointer(testpointer1, testpointer2);
  66. std::cout << "Test Value 1: " << testvalue1 << " Test Value 2: "<< testvalue2 << std::endl;
  67. // Does swap
  68. swap_value(x);
  69. std::cout << "Test Value 1: " << x.tvalue1 << " Test Value 2: "<< x.tvalue2 << std::endl;
  70. swap_reference(x);
  71. std::cout << "Test Value 1: " << x.tvalue1 << " Test Value 2: "<< x.tvalue2 << std::endl;
  72. // swap_pointer(*x);
  73. // std::cout << "Test Value 1: " << x.tvalue1 << " Test Value 2: "<< x.tvalue2 << std::endl;
  74.  
  75.  
  76. return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement