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

Может ли вообще на практике возникнуть ситуация, когда определенный класс следует указывать как друго самого себя? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запрет ввода символов в поле Edit http://www.cyberforum.ru/cpp-beginners/thread648840.html
Как запретить нажатие и вставку из буфера всех символов, кроме нужных мне, к примеру разрешить вводить в поле только цифры? И еще 2-ой вариант, как отдельный, как запихать в переменную char или еще в какую Edit->Text в виде массива символов, так что бы можно было сравнить каждый символ в массиве с таблицей символов по коду и определить есть ли запрещенные символы? Какими способами можно...
C++ Ошибка в цикле while Привет всем! Ниже приведен код программы, в программе две функции одна change() переводит Ф.И.О в формат фамилия - инициалы, а вторая polindrom() с которой собственно и проблема - ищет в введенной пользователем строке полиндромы и выводит их на экран. Программа создана в VS2010. Ошибок в данной программе компилятор не обнаруживает, но программа вылетает и отладчик указывает на то что в строке где... http://www.cyberforum.ru/cpp-beginners/thread648838.html
C++ Не определен базовый класс
Доброго времени суток. Столкнулся с проблемой при наследовании, и не могу разобраться, как решить. Есть базовый класс SPoint и два производных Tug, Terminal. #pragma once #include "Port.h" #include "Tanker.h"
C++ Возвращаемые значения функции
Есть функция, которая должна вернуть в программу значение, но что то не так. int StartInfo(int FirstWidth,int FirstHeight) { printf ("Write width: "); scanf("%d",&FirstWidth); printf ("Write height: "); scanf("%d",&FirstHeight); return FirstHeight; } int main(int argc, char** argv)
C++ Что изменить в программе? http://www.cyberforum.ru/cpp-beginners/thread648820.html
Что изменить в программе чтобы можно было работать с несколькими записями благодаря указателям на текущий следующий и предыдущий элемент#include "stdafx.h" #include "cstdlib" #include <iostream> #include <conio.h> #include <windows.h> #include <stdio.h> #include <string.h> #include <fstream> using namespace std;...
C++ Математический маятник Доброго время суток. Нужно написать программу. Математический маятник совершает колебания по закону x(t) = A* sin(\omega *t + {\omega }_{0}). Частота \omega маятника известна. В начальный момент координата x в k раз меньше амплитуды A. В какой момент времени T отклонение маятника максимально? Написать программу для определения параметра T при условии, что параметры \omega и k вводятся... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
09.09.2012, 14:13     Может ли вообще на практике возникнуть ситуация, когда определенный класс следует указывать как друго самого себя?
Kastaneda, Я бы вообщем-то не сказал, что пример такой уж надуманный...

http://liveworkspace.org/code/019848...0937b5e9f0fc50

Собственно у boost::shared_ptr есть конструктор

C++
1
2
template<typename U>
shared_ptr(const shared_ptr<U>&);
Чтобы сделать так, чтобы метод работал в классе юзается такая фича:

C++
1
template<class Y> friend class shared_ptr;
Мы соответственно можем разрешить это так же.

http://liveworkspace.org/code/fc360c...87c96a08e523a7

Не по теме:

(Я что-то совсем забыл синтаксис объявления френдом всех конкретизаций шаблонного класса, кроме той в которой мы находимся. Полез в буст - вспомнил).

 
Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru