#include
using namespace std;
class Ship {
private:
static int counter;
int ID;
int degrees ;
float minutes;
char direction;
public:
Ship() {
cout << "Input degrees: ";
cin >> degrees;
cout << "Input minutes: ";
cin >> minutes;
cout << "Input Direction (N - north,W - west,E - east,S - south): ";
cin >> direction;
ID = counter++;
}
Ship(int _degrees ,float _minutes ,char _direction ) {
ID = counter++;
degrees = _degrees;
minutes = _minutes;
direction = _direction;
}
void setCoordinates(int _degrees ,float _minutes ,char _direction ) {
degrees = _degrees;
minutes = _minutes;
direction = _direction;
}
void getInfo() {
cout << "ID: " << ID << endl;
cout << "degrees: " << degrees << endl;
cout << "minutes: " << minutes << endl;
cout << "direction: " << direction << endl;
cout << "Total ships: " << counter << endl;
}
void printCoordinates() {
cout << degrees << '\xF8' << minutes << "¢" << direction << endl;
}
};
int Ship::counter = 0;
int main()
{
Ship s1;
s1.getInfo();
s1.printCoordinates();
Ship s2(10,20.5,'N');
s2.getInfo();
s2.printCoordinates();
Ship s3(11,20.5,'E');
s3.getInfo();
s3.printCoordinates();
Ship s4(15,20.5,'S');
s4.getInfo();
s4.printCoordinates();
Ship s5(55,20.5,'W');
s5.getInfo();
s5.printCoordinates();
s1.getInfo();
return 0;
}
Для задания номера создайте класс, одно из полей которого хранит «порядковый номер» объекта. Для этого необходимо иметь еще одно поле, в которое будет записываться количество созданных объектов класса.
Каждый раз при создании нового объекта конструктор может получить значение этого поля и в соответствии с ним назначить объекту индивидуальный порядковый номер. В класс необходимо включить метод, который будет выводить на экран порядковый номер объекта.
Для хранения координат корабля используйте два поля типа angle, включающий три поля: int для числа градусов, типа float для числа минут и типа char для указания направления (N, S, E и W). Объект этого класса может содержать значение, как широты, так и долготы. Создайте метод, позволяющий ввести координату точки, направление, в котором она измеряется и метод, выводящий на экран значение этой координаты, например, 179°59,9¢ E. Кроме того, напишите конструктор, принимающий эти три аргумента. Для вывода символа градусов воспользуйтесь символьной константой ‘\xF8’.