Guest User

Untitled

a guest
Dec 16th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <cstdlib>
  4. #include <iomanip>
  5. using namespace std;
  6.  
  7. class Vec{
  8. public:
  9. Vec(double);
  10. Vec(double,double);
  11. Vec(double,double,double);
  12. void abs(void);
  13. ~Vec() {delete[] data_;};
  14. Vec(const Vec& copy);
  15. private:
  16. double* data_;
  17. size_t dimension;
  18. };
  19. //methods
  20. Vec::Vec (const Vec& copy){
  21. data_ = new double;
  22. memcpy(data_, copy.data_, sizeof(double));
  23. }
  24. Vec::Vec (double vector){
  25. data_ = new double;
  26. *data_ = vector;
  27. dimension = 1;
  28. }
  29. Vec::Vec (double vector,double vector1){
  30. data_ = new double[2];
  31. *data_ = vector;
  32. *(data_+1) = vector1;
  33. dimension = 2;
  34. }
  35. Vec::Vec (double vector,double vector1,double vector2){
  36. data_ = new double[3];
  37. *data_ = vector;
  38. *(data_+1) = vector1;
  39. *(data_+2) = vector2;
  40. dimension = 3;
  41. }
  42. void Vec::abs(){
  43. for (size_t i = 0; i<dimension; i++){
  44. cout << *(data_++) << " | ";
  45. };
  46. }
  47.  
  48. //main function
  49. int main() {
  50. Vec vector1(1.1);
  51. Vec vector3(1.0,2.0,3.0);
  52. Vec vector2(1.0,2.0);
  53. //cout<< setprecision(4) << 1.0f;
  54. vector1.abs();
  55. cout << endl;
  56. vector2.abs();
  57. cout << endl;
  58. vector3.abs();
  59. };
Add Comment
Please, Sign In to add comment