Advertisement
szdani96

Untitled

Oct 30th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class VectorN {
  6.     int n;
  7.     double *m;
  8. public:
  9.     VectorN(int);
  10.     VectorN(VectorN*);
  11.     ~VectorN();
  12.     void read();
  13.     void print();
  14.     void operator *=(double d);
  15.     void operator+=(VectorN&);
  16.     friend ostream& operator<<(ostream &,VectorN &);
  17. };
  18.  
  19. VectorN::VectorN(int n) {
  20.     this->n = n;
  21.     this->m = new double[n];
  22. }
  23. void VectorN::operator *=(double d){
  24.     for(int i=0;i<n;i++) m[i]*=d;
  25. }
  26.  
  27. VectorN::VectorN(VectorN *v) {
  28.     n = v->n;
  29.     //m = v->m; // rossz!!!
  30.     m = new double[n];
  31.     for (int i=0;i<n;i++) m[i]=v->m[i];
  32. }
  33.  
  34. VectorN::~VectorN() {
  35.     delete[] m;
  36. }
  37.  
  38. void VectorN::read() {
  39.     for (int i=0;i<n;i++) cin >> m[i];
  40. }
  41.  
  42. void VectorN::print() {
  43.     cout << "(" << m[0];
  44.     for (int i=1;i<n;i++) cout << "," << m[i];
  45.     cout << ")";
  46. }
  47. void VectorN::operator+=(VectorN &v){
  48.     if(n==v.n){
  49.         for(int i=0;i<n;i++) m[i]+=v.m[i];
  50.     }
  51. }
  52.  
  53. ostream& operator<<(ostream &o,VectorN &v){
  54.         o << "(" << v.m[0];
  55.     for (int i=1;i<v.n;i++) o << "," << v.m[i];
  56.     o << ")";
  57. }
  58. int main(int argc, char** argv) {
  59.     VectorN v(3);
  60.     v.read();
  61.     v*=3;
  62.     cout<<v;
  63.     VectorN v2(3);
  64.     v2.read();
  65.     v+=v2;
  66.     cout<<v;
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement