Агуулга: Энэ хуудсаар уг бүлэгт ашиглагдсан программын эх кодыг үзүүллээ. Уг номын программууд нь программчлалын C++ хэл дээр бичигдсэн. C++ болон объект-хандалтат арга нь өгөгдлийн бүтцийг нэвтрүүлэх тохиромжтой хэрэгсэл болдог. Өгөгдлийн хийсвэр төрөл нь объект хандалтат программчлалын үндсэн ухагдахуун бөгөөд өгөгдөл болон тэдгээрт хийгдэх багц үйлдлүүдийг агуулдаг. C++ программчлалын хэлэнд өгөгдлийн хийсвэр төрлийг классаар илэрхийлдэг.
// Data Structure & Algorithm C++, Otgonbayar Tovuudorj
// Chapter 3. C++ and Data Abstraction
// Point class - ADT
#include <iostream>
using namespace std;
class Point {
public:
Point() { x = y = 0; }
Point(int vx, int vy): x(vx), y(vy) {};
~Point() {}; // not required for Point class
void move(int dx, int dy);
void reset(int nx, int ny);
friend ostream & operator<<(ostream & out, const Point &p);
private:
int x, y;
};
void Point::move(int dx, int dy) {
x += dx;
y += dy;
}
ostream &operator<<(ostream &out, const Point &p)
{
out << "x=" << p.x << endl;
out << "y=" << p.y << endl;
return out;
}
int main()
{
Point p1, p2(3,7);
cout << "Point p1:\n" << p1;
cout << "Point p2:\n" << p2;
cout <<"After moved each point by 2 units (both x and y)" << endl;
p1.move(2,2);
p2.move(2,2);
cout << "Point p1:\n" << p1;
cout << "Point p2:\n" << p2;
return 0;
}
