@AlexB_49
Студент

Как исправить ошибку ('operator =' must be a non-static member) при перегрузке оператора присваивания?

Здравствуйте. У меня есть класс, который я описываю в заголовочном файле .h. И есть файл .cpp, в котором я прописываю реализацию этого класса.

Вот код заголовочного файла .h:

class CCircle 
{
private:
	double CX;
	double CY;
	double PointX;
	double PointY;
public:
	CCircle(double cx = 0, double cy = 0, double pointX = 1, double pointY = 1); // default constructor
	CCircle(const CCircle& circle); // constructor for copying
	virtual ~CCircle(); // destructor

	double GetCX();
	double GetCY();
	double GetPointX();
	double GetPointY();

	void SetCX(double);
	void SetCY(double);
	void SetPointX(double);
	void SetPointY(double);

	double Area();
	double Diameter();
	double Length();
 
	CCircle& operator = (const CCircle& other); // ПЕРЕГРУЗКА ОПЕРАТОРА ПРИСВАИВАНИЯ. С ЭТИМ СВЯЗАНА ОШИБКА
	
};


А это часть кода .cpp файла, где возникают проблемы:
#include "CCircle.h"

// ........................................................................................................
CCircle& operator = (const CCircle& other) // ОШИБКА. ВОТ ЗДЕСЬ operator ПОДЧЕРКИВАЕТСЯ КРАСНЫМ
{
        //какой то код
}


Когда я пытаюсь написать реализацию перегрузки оператора присваивания, то operator подчеркивается красным и выбивает ошибка 'operator =' must be a non-static member.

Что я делаю не так и как это исправить?
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
Исправьте на:
CCircle& CCircle::operator=(const CCircle& other)
{
    //какой то код
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы