Đề thi và lời giải môn Lập trình hướng đối tượng

Kiểm tra LTHĐT Đề 1
Tạo lớp D2 các điểm trên mặt phẳng tọa độ Oxy, bắt buộc phải có:
Ø  Thành phần dữ liệu private là x và y
Ø  Hàm thiết lập với các tham số mặc định gán cho các tọa độ
Ø  Hàm xác định trung điểm của 2 điểm trên mặt phẳng
Ø  Hàm chồng toán tử trích dòng >> để nhập tọa độ của điểm từ bàn phím
Ø  Hàm chồng toán tử chèn dòng << để xuất tọa độ của điểm ra màn hình
Tạo lớp D3 các điểm trong không gian tọa độ Oxyz kế thừa lớp D2, bắt buộc phải có:
Ø  Thành phần dữ liệu private là z
Ø  Hàm thiết lập với các tham số mặc định gán cho các tọa độ
Ø  Hàm xác định trung điểm của 2 điểm trong không gian
Ø  Hàm chồng toán tử trích dòng >> để nhập tọa độ của điểm từ bàn phím
Ø  Hàm chồng toán tử chèn dòng << để xuất tọa độ của điểm ra màn hình
Hàm main tạo 2 điểm D2 là a và b; 2 điểm D3 là c và d với các tọa độ nhập từ bàn phím. Xuất tọa độ các điểm và khoảng cách hai điểm a và b; c và d.
#include<math.h>
#include<iostream.h>
class D2
{float x,y;
 public:
  D2(float ox=0,float oy=0)
            {x=ox;  y=oy; }
 friend ostream &operator <<(ostream &Out,D2 &P)
  { Out<<"Toa do x="<<P.x<<", Toa do y="<<P.y;
             return Out;
  }
 friend istream &operator >>(istream &Input,D2 &P)
  {cout<<"Toa do x=";Input>>P.x;
            cout<<"Toa do y=";Input>>P.y;
            return Input;
  }
 D2 TD(D2 a)
  {D2 b;
            b.x=(x+a.x)/2;
            b.y=(y+a.y)/2;
            return b;
  }
 float getx()
 {return x; }
 float gety()
 {return y; }
 void setx(float ox)
 {x=ox; }
 void sety(float oy)
 {y=oy; }
};
class D3:D2
{float z;
 public:
  D3(float ox=0,float oy=0,float oz=0):D2(ox,oy)
            {z=oz;             }
 friend istream &operator >>(istream &Input,D3 &P)
  {D2 Q=P;
            Input>>Q;
            D3 R(Q.getx(),Q.gety());
            P=R;
            cout<<"Toa do z=";Input>>P.z;
            return Input;
  }
 friend ostream &operator <<(ostream &Out,D3 &P)
  { D2 Q=P;
             Out<<Q<<", Toa do z="<<P.z<<"\n";
             return Out;
  }
 D3 TD(D3 a)
  {D3 b;
            b.setx((getx()+a.getx())/2);
            b.sety((gety()+a.gety())/2);
   b.z=(z+a.z)/2;
            return b;
  }
};
void main()
{D2 a,b; D3 c,d;
 cout<<"Nhap diem D2 a:\n";   cin>>a;
 cout<<"Nhap diem D2 b:\n";   cin>>b;
 cout<<"Nhap diem D3 c:\n";   cin>>c;
 cout<<"Nhap diem D3 d:\n";   cin>>d;
 cout<<"Diem a:\n";   cout<<a;
 cout<<"\nDiem b:\n";   cout<<b;
 cout<<"\nDiem c:\n";   cout<<c;
 cout<<"\nDiem d:\n";   cout<<d;
 cout<<"TD(a,b):"<<a.TD(b);
 cout<<"\nTD(c,d):"<<c.TD(d);
}



Nhãn bài viết:
Blog, Updated at: 00:34