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

Синтаксическая ошибка при определении метода перегруженного оператора,за классом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ классы (конструкторы, дестрцкторы, функции членов класса) http://www.cyberforum.ru/cpp-beginners/thread777982.html
Нужна помощь в выполнении задания по классам. Ведомость успеваемости студентов (2 класса: базовый - студент; производный - студент с ведомостью успеваемости) Базовый класс (студент) Переменные: имя, возраст, высшее учебное заведение. Конструкторы: по умолчанию, с параметрами и копирования. Деструктор. функции: задания высшего учебного заведения; изменения имени;
C++ int и cin Здравствуйте, уважаемые форумачане:) 1. Возник вопрос (банальный,возможно, но всё же): сколько переменных можно объявить через int? Имеется в виду не за один раз, а, например: { int a; int b; int c; ... int n; http://www.cyberforum.ru/cpp-beginners/thread777971.html
C++ Определения координах вершин квадрата
подскажите пожайлуста как найти координаты противоположных углов квадрата зная координаты других противоположных углов (система координат декартовая) к примеру зная координаты верхнего левого и нижнего правого, я могу найти длину диагонали, потом я понимаю надо найти середину диагонали ето я тоже знаю как зделать, я немогу понять как мне ее дальше повернуть для определения координат или я вопще...
C++ Прокомментируйте код
#include <iostream> class Teacher { public : Teacher() : name_(), surname_(), patronymic_(), subject_() {} Teacher(const std::string &name, const std::string &surname, const std::string &patronymic, const std::string &subject) : name_(name), surname_(surname), patronymic_(patronymic), subject_(subject) {}
C++ Сместить элементы в массиве http://www.cyberforum.ru/cpp-beginners/thread777953.html
Дан одномерный массив. Ввести число - на сколько нужно сместить элементы (не используя вспомогательный массив).
C++ Ошибка при использовании вектора Пытаюсь проанализировать текстовый файл и посчитать кол-во каждого символа. Текст на английском. Вот код: class Raspredelenie{ public: char Name; int Znach_name; }; vector <Raspredelenie> Analiz(){//Анализ текстов для сбора статистики распределения символов ifstream Statistic("Stat.txt"); vector <Raspredelenie> Analiz(128); подробнее

Показать сообщение отдельно
Borkot
 Аватар для Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 182
Записей в блоге: 1
03.02.2013, 13:31     Синтаксическая ошибка при определении метода перегруженного оператора,за классом
Есть два класса.
Point1 и Pointer1
Синтаксическая Ошибка в Pointer1.cpp в перегрузке операторов.

Point1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
#include"stdafx.h"
class Point1
{
private:
    double x,y;
public:
    Point1(double a=1,double b=1)
    {x=a;y=b;}
    ~Point1(void);
    void Set(double a,double b);
    void Print();
    friend istream &operator >>(istream &is,Point1 &A);
    friend ostream &operator << (ostream &os,const Point1 &A);
};
Point1.cpp
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
#include "Point1.h"
 
 
/*Point1::Point1(double a=1,double b=1)
{
    x=a;y=b;
}  */
 
 
Point1::~Point1(void)
{
}
 
void Point1::Set(double a,double b)
{
   x=a;y=b;
}
 
void Point1::Print()
{
   cout<<"x= "<<x<<"\ty= "<<y<<endl;
}
 
istream &operator >>(istream &is,Point1 &A)
{
    cout<<"X="<<A.x<<endl;
    cout<<"Y="<<A.y<<endl;
}
 
ostream &operator <<(ostream &os,const Point1 &A)
{
    os<<"X="<<A.x<<endl; os<<"Y="<<A.y<<endl;
    return os;
}
 
//почему так определяется
Pointer1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include"Point1.h"
class Pointer1
{
    
public:
    Point1 *ptr;
    void Set(double a,double b);
    Pointer1(Point1 *A);
    ~Pointer1(void);
    Point1 *operator -> ()const;
    Pointer1 operator ++();
    void Print();
};
Pointer1.cpp
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
#include "Pointer1.h"
 
 
Pointer1::Pointer1(Point1 *A)
{
  ptr=A;
}
 
 
Pointer1::~Pointer1(void)
{
 
}
 
Point1::&Pointer1 *operator -> ()const   //Не правильно определен метод за классом 
{
  return ptr;
}
 
Pointer1 Pointer1:: operator ++()  //Здесь синтаксическая ошибка
{
     ptr++;
     return *this;
}
 
void Pointer1::Set(double a,double b)
{
   x=a;y=b;
}
void Pointer1::Print()
{
   cout<<"x= "<<x<<"\ty= "<<y<<endl;
}

Вот проблема, скажите где почитать,или как правильно писать перегруженные методы за классом.
Спасибо заранее.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru