I have got this assignment but this program is not working and output is not getting properly. This program compiles successfully, but it gives error - Segmentation fault (core dumpped). I am not getting why this is happening. Please tell me what is the problem in the below code -
#include<iostream>
using namespace std;
class Vector
{
int *V;
int size;
public:
Vector(int m)
{
V = new int[size=m];
for(int i=0; i< size; i++ )
{
V[i] = 0;
}
}
Vector(const int *a)
{
for(int i=0;i<size;i++)
{
V[i] = a[i];
}
}
int operator * (Vector &y)
{
int sum = 0;
for(int i=0;i<size;i++)
{
sum+= this->V[i] * y.V[i];
}
return sum;
}
void printVector()
{
for(int i=0;i<size;i++)
{
printf("%d\t",this->V[i]);
}
}
};
int main()
{
int x[3] = {1,2,3};
int y[3] = {4,5,6};
Vector V1(3);
Vector V2(3);
V1.printVector();
V2.printVector();
V1 = x;
V2 = y;
V1.printVector();
V2.printVector();
int r = V1*V2;
cout<<endl<<"r = "<<r<<endl;
}