Другие языки программирования и технологии

Приведите, пожалуйста, пример ( адекватный для новичка ) использования методов одного класса в методах другого С++

Не могу разобраться с тем, как использовать методы 1 класса во 2 классе. К примеру, в методах 1 класса я хочу вызывать методы 2 класса. Как такое сделать? Пожалуйста, не надо меня перенаправлять прямым текстом на ютуб в гугл. Я только что оттуда. Меня интересует грамотный пример, простой в понимании, подходящий для новичков. Желательно с пояснениями.
Всех адекватных заранее благодарю))
#include <iostream>
using namespace std;
class Point {
public:
Point() : x_(0), y_(0) {}
Point(const double x, const double y) : x_(x), y_(y) {}
void move(const double x, const double y) {
x_ += x;
y_ += y;
}
double x()const { return x_; }
double y()const { return y_; }
private:
double x_;
double y_;
};
class Section {
public:
Section(const Point& a, const Point& b) : a_(a), b_(b) {}
double length()const {
return sqrt(pow(a_.x() - b_.x(), 2) + pow(a_.y() - b_.y(), 2));
}
private:
Point a_;
Point b_;
};
Point input(const char* p = "O") {
cout << p << "x: ";
double x;
cin >> x;
cout << p << "y: ";
double y;
cin >> y;
Point point(x, y);
return point;
}
int main() {
auto a = input("A");
auto b = input("B");
Section section(a, b);
auto length = section.length();
cout << "Length: " << length << endl;
system("pause");
}
Александр Петров
Александр Петров
50 388
Лучший ответ
Алексей Быков О, спасибо большое!)
Не совсем понимаю, в чём сложность, поэтому вот просто пример:

class A {
void foo() const {std::cout << "A::foo()" << std::endl;}
};

class B {
void bar(const A& a) const {
std::cout << "B::bar()" << std::endl;
a.foo();
}
};
Андрей Арестов
Андрей Арестов
51 164
Алексей Быков Немного не пойму. что написано. Меня интересует вот такой вариант :
Основной класс
{
Здесь я вызываю функцию основного класса.
Далее мне необходимо вызвать функцию другого класса.
}
Например : в Qt Creator у меня есть главный класс. В нем есть форма с виджетами. 1 из виджетов - таблица. И мне ее надо будет заполнять несколько раз. Каждый раз копипастить код заполнения таблицы в основном классе не охота, ибо загромождение методов класса идет. Поэтому хочу создать параллельный класс, в котором 1 раз пропишу метод заполнения таблицы, и буду его вызывать в методах основного класса, когда это потребуется. Копипастить 1 строчку гораздо приятнее, чем 200 строк
а на ютуб и не буду. буду в книжки направлять.

в книжках ищи про статические методы и про создание объектов класса. это два основных способа. на самом деле паттернов много разных.

вот это найди и далее книжки читай
Kepban
Kepban
1 012

Похожие вопросы