Nạp chồng toán tử với 2 Vecto trong C++
3. Xây dựng lớp vectơ gồm các thành phần:
-DL: số phần tử, mảng các phần tử
-Pt: nhập, in, tổng 2 vectơ, tích vô hướng
Hàm main:
-Nhập 2 vectơ
-Tính và in tổng a+b
Code:
#include<iostream.h>
#include<conio.h>
#include<math.h>
class VT
{
private:
int n;
float d[10];
public:
VT()
{
n=1;
for (int i=1;i<=n;i++)
d[i]=0;
}
friend ostream& operator<< (ostream& os,VT &a)
{ os<< "(";
for (int i=1;i<=a.n;i++)
{
os<< a.d[i];
if (i<a.n)
os<<",";
}
os<< ")";
return os;
}
friend istream& operator>> (istream& is,VT &a)
{
cout<< "Nhap so phan tu cua VT : ";
is>> a.n;
for (int i=1;i<=a.n;i++)
{
cout<< "Nhap phan tu thu "<<i<<" cua VT: ";
is>>a.d[i];
}
return is;
}
VT operator+(VT b)
{
if (n!=b.n)
{
cout<<"Khong thuc hien dc phep cong VT \n";
}
else
{
VT c;
c.n=b.n;
for (int i=1;i<=b.n;i++)
{
c.d[i]=d[i]+b.d[i];
}
return c;
}
}
VT operator-(VT b)
{
if (n!=b.n)
{
cout<<"Khong thuc hien dc phep tru VT \n";
}
else
{
VT c;
c.n=b.n;
for (int i=1;i<=b.n;i++)
{
c.d[i]=d[i]-b.d[i];
}
return c;
}
}
VT operator*(VT b)
{
if (n!=b.n)
{
cout<<"Khong thuc hien dc phep nhan VT \n";
}
else
{
VT c;
c.n=b.n;
for (int i=1;i<=b.n;i++)
{
c.d[i]=d[i]*b.d[i];
}
return c;
}
}
};
void main()
{
clrscr();
VT a,b,c,d,e;
cout<<"Nhap toa do cua VT thu 1: \n";
cin>>a;
cout<<"Nhap toa do cua VT thu 2: \n";
cin>>b;
c=a+b;
d=a-b;
e=a*b;
cout<<"VT Tong co toa do : "<<c<<"\n";
cout<<"VT Hieu co toa do : "<<d<<"\n";
cout<<"VT Tich vo huong co toa do : "<<e<<"\n" ;
getch();
}
0 Response to "Nạp chồng toán tử với 2 Vecto trong C++"
Đăng nhận xét