Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.07.2010, 09:31   #21
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
Скомпилируй этот код:
Код:
public ref class a{
public:
	template<class T> void my(int a){; };
};
//Попробуй так и получишь ошибку 
a^zxc= gcnew a();
zxc->my(3);

//А теперь так 
zxc->my<int>(3);
А все потому что ты пишешь только на в 1 среде С++ Builder - концептуально правильно писать, как я написал, чтобы не было путаницы, и другие компиляторы выбрасывают ошибки.
Блин. А я то всё думаю в какой среде я пишу... Ярлык называется Visual Studio, заголовок окошка Visual Studio, а это оказывается Билдер. Китайский какой-то наверно подсунули.
А если написать всё же как я написал в примере:
Код:
template<class T> void my(T a){; };
думаю, скомпилируется. Не такой уж, надеюсь, С++ CLR ущербный.
Цитата:
Сообщение от Loji Посмотреть сообщение
Напиши этот код в C++ CLR и увидишь что компилятор не ругается.
Надо будет потратить 10 минут и проверить, а то что-то не верится.
Цитата:
Сообщение от Loji Посмотреть сообщение
Читай про интерфейсы и абстрактные классы
http://ru.wikipedia.org/wiki/%D0%98%...D0%B8%D0%B5%29

Приведу цитату с википедии: "Можно заметить, что интерфейс, с точки зрения реализации — это просто чистый абстрактный класс";
Википедия - наше всё? Информация в этой "энциклопедии" конечно же заполняется гениальными учеными, проверяется специальной комиссией и отражает действительность.
Вопрос реализации лежит на плечах разработчиков конкретного компилятора. То, что автор этой заметки решил, что это единственный вариант реализации интерфейса - это его проблемы.
Я уже приводил пример использования интерфейсов в языке C#, которое нельзя решить с помощью абстрактных классов C++.
Цитата:
Сообщение от Loji Посмотреть сообщение
Это вы описали похоже 2 программиста полных дурня? Которые сроду не писали ничего и используют первый раз интерфейсы. Обычно люди ЗНАЮТ это , и если пишется один класс- реализация, то только осел будет использовать стандартные методы (их скорее всего оставят для общих действий).
Какие стандартные методы?
И вот есть у нас интерфейсы: ICollection<Кирпич> и ICollection<Пеноблок>. Методы у обоих одноименные.
И есть у нас класс самосвал, который может одновременно перевозить и кирпичи и пеноблок:
Код:
class Truck: ICollection<Кирпич>, ICollection<Пеноблок>
{
...
}
Как в этом случае разруливать конфликты имён? Мне нужно, чтобы класс Truc из свойства Count Возвращал общее количество кирпичей и пеноблока, ну а при работе с классом через соответствующий интерфейс - только количество кирпичей/пеноблока.
Пример искусственный, потому немного глуповат, но суть проблемы отражает. Как гики программирования это будут разруливать?
Цитата:
Сообщение от Loji Посмотреть сообщение
Когда каждый пишет реализацию ,здесь как раз идентификатор partial C#, очень кстати.
Не думаю, что один класс может писать несколько программистов параллельно. Глупо это как-то. Как раз только осел спроектирует такой большой класс, который не сможет реализовать один программист.
Цитата:
Сообщение от Loji Посмотреть сообщение
Поверь мне, если человек разбирается, я признаю это.
Верю, только у Вас какие-то свои критерии. Самомнение зашкаливает, знаний с гулькин нос и это мешает трезво оценивать ситуацию.
Когда несколько независимых людей говорят человеку, что он не понимает в вопросе, об этом стоит задуматься, вполне вероятно, что они правы.
Цитата:
Сообщение от Loji Посмотреть сообщение
Хочешь разочарую тебя? Я не только книжки читал, я это учил. Тем более по своей специальности.
За слова надо отвечать: укажи места в которых, по вашим словам я не компетентен. Если вы можете только в общем нести подобную фигню, то можете вообще не отвечать ибо для меня пустые слова так же ничего не значят.
Хоть один пример кода, которые я просил, привели, знаток Вы наш? Интерфейс то же самое, что и абстрактный класс, но так сделать не получится, но это всё мелочь, потому что только дураки так пишут,... Ни одного четкого ответа я не увидел, а пробелы в знаниях на лицо в каждом посте.
Цитата:
Сообщение от Loji Посмотреть сообщение
Похоже вы решили как говорится "съехать с темы". ТО, что считается с точки зрения программирования и то КАК оно реализуется внутри это совсем разные вещи. Мы считаем так как нам удобно понимать, для простоты. А то, что абстрактный класс создается как обычный с директивой на запрет создания объектов ( внутри ) то до этого нет никакого дела.
Вас прямо не поймешь. То интерфейс реализуется как абстрактный класс и это надо знать, то без разницы как это реализуется.
Так интерфейс всё же идеологически равен абстрактному классу?

ЗЫ. Я тоже жду с нетерпением Вашего ответа. Что же будет дальше? Даже на работе сосредоточиться не могу. Давненько меня никто так не радовал
pu4koff вне форума
Старый 08.07.2010, 09:38   #22
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от ozo Посмотреть сообщение
Код:
class any{
public slots   :
   olo();
public signals :
   oli();
private        :
   int i;
}
Только сейчас, в C++ есть слоты и сигналы.
И да, ваше слово abstract, что может быть :
#define abstract что-угодно
мне ни о чем не говорит, как и моему компилятору.
На какой спецификации языка вы пишите - ваши половые трудности
Кто о чем. Для вас нет разницы между декларацией и именем типа?. Если нет, тогда вы правы, разницы нет. Но, если есть декларация абстрактный классов с помощью этого слова, то интересно зачем, если оно ничего не дает. Про макросы я даже не упоминал, и про слоты и сигналы - причем здесь связь с разными классами, если речь шла о интерфейсе и его реализации.
Цитата:
Сообщение от ozo Посмотреть сообщение
Что ж вы за меня всё решаете ? )
А вы, а вы - не знаете сколько будет 5^3 Я для вас немного приоткрою завесу мрака : 5^3 == 5*5*5, а сколько это, вы наверное догадаетесь )
А я писал по теме
Другим это не сильно мешает
Правильней было бы не так 5^3 == 5*5*5, а вот так 5^3 = 5*5*5.
Loji вне форума
Старый 08.07.2010, 09:49   #23
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Даже на работе сосредоточиться не могу.
Читаем внимательно первые два слова в посте №4.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы и файлы ThisIzGame Общие вопросы C/C++ 1 16.06.2010 10:42
Почему из метода класса нельзя обратиться к компоненту на форме? Дима я Общие вопросы Delphi 2 28.03.2010 13:21
шаблонные строковые функции MrKarapuz Общие вопросы C/C++ 7 09.11.2009 15:07
почему под созданным пользователем нельзя зайти? Bat{CMD}_Men Общие вопросы Delphi 1 04.11.2009 10:47