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

По поводу потока и перегрузки оператора вставки в классе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию которая определяет кратное ли первое число второму http://www.cyberforum.ru/cpp-beginners/thread799896.html
Напишите функцию Multiple для двух целых чисел, которая определяет, кратно ли второе число первому. Функция должна получать два целых аргумента и возвращать 1 (true), если второе число кратно первому, и 0 (false) - в противном случае. Используйте эту функцию в программе, которая вводит серию пар целых чисел. #include <iostream> #include <Windows.h> using namespace std; bool...
C++ Передача структуры без объявления переменной здравствуйте форумчане. вопрос мой таков: имеется структура struct Rect { Point LTPoint,RBPoint; } Point-структура такого вида: http://www.cyberforum.ru/cpp-beginners/thread799893.html
C++ Натуральный логарифм N слагаемых
Помогите написать код на формулу: S=√x/ln⁡x +√(x^2 )/ln⁡〖2*x〗 +√(x^3 )/ln⁡〖3*x〗 +⋯ для N слагаемых
C++ Найти количество слов, начинающихся с заданного символа, и заменить эти слова их порядковым номером
Дана строка. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти количество слов, начинающихся с заданного символа, и заменить эти слова их порядковым номером в строке, заключенным в фигурные скобки. буду благодарен за любую помощь просто я совсем без идей.
C++ немного графики+векторы. по смыслу понимаю, а как реализовать - запуталась http://www.cyberforum.ru/cpp-beginners/thread799883.html
Заданы окружность(положением центра и радиусом), треугольник (координатами трех вершин), квадрат (координатами четырех вершин). Определить – можно ли расположить треугольник или четырехугольник внутри окружности. для ввода координат - вывода окружности,треугольника, четырехугольника на экран программку сделала.. воть если надо #include <graphics.h> // vkljy4it' opisanie grafi4eskich fynkcij...
C++ Тип char* к LPCTSTR возможно ли? А возможно ли преобразовать тип char* к LPCTSTR? Если да то как? подробнее

Показать сообщение отдельно
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.03.2013, 20:22     По поводу потока и перегрузки оператора вставки в классе
Цитата Сообщение от mzarb Посмотреть сообщение
Я правда пытаюсь найти что-то, прежде чем просить помощи у других, просто есть моменты когда не понятно где и как искать, а если и найдется то не хватит знаний для переработки информации.
Если книги почитать? Так все делают.
Цитата Сообщение от mzarb Посмотреть сообщение
Нашел вот это "Действительно, ни функция вставки, ни функция извлечения не могут быть членами клас*са. Причина заключается в том, что если функция-оператор является членом класса, то левым операндом, неявно передаваемым с использованием указателя this, служит объект того класса, который осуществляет вызов функции-оператора.", я знаю что такое this, но при этом не понял ничего, можно как то на пальцах объяснить или пример привести?
На самом деле это не так. Могут, но синтаксис будет непривычный, поэтому и не делают их членами класса.
Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class A
{
    int x;
    
  public:
   A() { x = 5;}
   ostream& operator<<(ostream& out)
   {
        out << x;
        return out;
   }
}
 
int main()
{
   A obj;
   obj << cout;
 
};
То есть, при вызове перегруженного оператора (метода класса), слева должен быть сам объект класса.
Для того, чтобы слева мог быть объект iostream, перегружают эти операторы, обычно, как дружественные функции.
 
Текущее время: 10:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru