Форум программистов, компьютерный форум CyberForum.ru

Определить функцию, возвращающую расстояние между центром окружности и началом координат - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Однонаправленый список. Функция удаления с конца списка, вставка и удаления из середины списка(код внутри) http://www.cyberforum.ru/cpp-beginners/thread828158.html
Вот мой рабочий код, только не могу еще три функции дописать, которые удаляют из сконца списка, вставляют и удаляют из середины списка: #include<iostream> using namespace std; struct Node { Node(int v) {value=v;next=0; } int value; Node*next; }; struct LinearList
C++ Сортировка Как отсортировать массив структур по убыванию по полю типа float? struct pixel{ int znach; float ver; bool slov; bool operator < (const pixel& a) const { return ver < a.ver; } }; http://www.cyberforum.ru/cpp-beginners/thread828149.html
C++ Представить в виде двунаправленного списка схему автобусного маршрута
Ребят, помогите с кодом программы: Представить в виде двунаправленного списка схему автобусного маршрута: названия остановок и время прибытия автобуса на остановку. Задать начальный и конечный пункты назначения пассажира и определить направление движения для скорейшего достижения цели, реализовать добавление и удаление остановок(если удалить время между соседними суммируется, если добавить...
Класс точка(наследование) C++
Тема:ПРоизводные классы.Наследование Создать класс Точка, которая имеет координаты. Класс Эллипсов, и класс Окружностей. Определить иерархию типов. Определить функции печати, конструкторы, деструкторы, вычисление площади. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов. помогите пожалуста,не совсем понимаю данную тему
C++ Ввод нескольких значений в компонент Edit http://www.cyberforum.ru/cpp-beginners/thread828102.html
Как реализовать ввод цифр с точкой или без , в один компонент Edit. Иными словами мне надо, к примеру написать в один Edit числа, вот так: 1, 2, 5, 7, или если число не целое, то : 1.2, 6, 4.8 Как это реализовать?
C++ Проблемы с перегрузкой операторов файлового вводы/вывода #include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std; class Array{ int *Arr, Size; подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
04.04.2013, 19:01     Определить функцию, возвращающую расстояние между центром окружности и началом координат
Вы не правильно декомпозировали задачу. Отношение классов окружность и точка должна быть композиция, а не наследование, потому что окружность не является точкой (не наследование), но состоит из точки (центра) и радиуса (композиция).

Чуть причесал ваш код, забил на ввод. )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <cmath>
 
class Point {
 public:
  Point() : x(0), y(0) {}
  Point(double x, double y) : x(x), y(y) {}
  double getX() const { return x; }
  double getY() const { return y; }
  void setX(double x) { this->x = x; }
  void setY(double y) { this->y = y; }
 private:
  double x, y;
};
 
std::ostream &operator<<(std::ostream &stream, const Point &p) {
  return stream << "Point{x=" << p.getX() << ",y=" << p.getY() << "}";
}
 
double getDistance(const Point &a, const Point &b) {
  return sqrt(pow(a.getX() - b.getX(), 2) + pow(a.getY() - b.getY(), 2));
}
 
class Circle {
 public:
  Circle() : center(), radius() {}
  Circle(const Point &center, double radius) : center(center), radius(radius) {}
  const Point &getCenter() const { return center; }
  double getRadius() const { return radius; }
  void setCenter(const Point &center) { this->center = center; }
  void setRadius(double radius) { this->radius - radius; }
 private:
  Point center;
  double radius;
};
 
std::ostream &operator<<(std::ostream &stream, const Circle &c) {
  return stream << "Circle{center=" << c.getCenter() << ",radius=" <<
    c.getRadius() << "}";
}
 
int main(int argc, char **argv) {
  
  Circle c(Point(2, 3), 5);
  
  std::cout << "Distance from center of " << c << " to " << Point(0, 0) <<
    " is " << getDistance(c.getCenter(), Point(0, 0)) << std::endl;
  
  std::cin.get();
  return 0;
}
 
Текущее время: 05:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru