Унаследованный метод init () не работает в новом классе. Значения A, B, C, D остаются неизменными, поэтому переопределенный метод square () также не работает.
Попытка вывести A, B, C, D в открытый доступ, поскольку в большинстве примеров в Интернете есть переменные.
Методы Четырёхугольника работают по назначению. Но «класс Quadrangle подчеркивается IDE:« это объявление не имеет класса хранения или спецификатора типа ». Хотя программа не падает.
Кроме того, правильно ли я переопределяю функцию square ()?
#include "pch.h"
#include <iostream>
using namespace std;
struct point {
float x, y;
};
class Quadrangle
{
public:
void init() // sets coordinates for A, B, C, D
{
cout << "Input A coordinates (x, y): ";
cin >> A.x >> A.y;
cout << "Input B coordinates (x, y): ";
cin >> B.x >> B.y;
cout << "Input C coordinates (x, y): ";
cin >> C.x >> C.y;
cout << "Input D coordinates (x, y): ";
cin >> D.x >> D.y;
};
void square()
{
// square calculation
};
private:
point A, B, C, D;
};
class Rectangle : public Quadrangle
{
public:
void square()
{
// square calculation
};
private:
point A, B, C, D;
};
Английский не первый, и у меня нет опыта говорить о программировании. Извините, если что-то не так.