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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.07.2010, 13:39   #11
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Это шаблоны. Только как они относятся к .NET? В C# этого нет. В С++.NET это от "чистого" С++ и я сомневаюсь, что их в .NET версии языка можно разбивать на *.h и *.cpp файлы.
Вот тебе в С#:
Код:
class myclass<type1, type2> {}
А вот скудные отличия от шаблонов С++, про которые ты брызгаешь слюнями направо и налево:

1 Параметризованные типы в C# не могут иметь типов по умолчанию
2 Параметризованные типы не могут быть использованы в качестве базовых классов для общих типов
3 Не допускается использования этих классов в качестве параметров типов в других классах.

Ты очень часто вкладываешь шаблон в шаблон и используешь шаблоны с параметрами по умолчанию?
В остальном это полностью аналогию шаблонов в С++.
Похоже мы с вами говорим о разных языках, вы о С++, я о visual C++.

Если вы сомневаетесь в чем то - откройте ASP.NET там как раз используется класс с декларацией partial, который разбит на несколько разных файлов, и все сомнения отпадут.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Это Generic. Если бы в С++ были Generic, то их можно было бы разбивать на интерфейс/реализацию. Особенности шаблонов и компиляции С++ программ этого не позволяют.
Говоришь не позволяют?
А как же это:
Код:
class a abstract  //Интерфейс
    {
	public:
		template<class T> T my(T a);
    };
 
   class b:public a  //Реализация
    {
	public:
		template<class T> T my(T a){};
	
    };
Цитата:
Сообщение от pu4koff Посмотреть сообщение
Функции? В C#? Ничего не путаете?
Методы, функции, -если речь идет про класс, то думаю вам то должно быть понято.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Странная логика. В С++ есть множественное наследование, значит оно и в C# есть? И в Delphi? А в C# есть интерфейсы (interface), только в С++ я их не нашел. Не работает логика.
в visual C# есть только множественное наследование интерфейсов.

Интерфейсы есть везде:
Код:
class interface abstract 
    {
	public:
		void my(int a);
    };
Тем более в С++.
Другое дело в CLR добавили ключевое слово interface, так сказать узаконив их, добавив свою специфику по умолчанию.

Хватит так хватит.

Последний раз редактировалось Loji; 07.07.2010 в 14:02.
Loji вне форума
Старый 07.07.2010, 14:05   #12
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Похоже мы с вами говорим о разных языках, вы о С++, я о visual C++.
O_o
Где это вы такой язык выкопали??
Цитата:
Сообщение от Википедия
Microsoft Visual C++ (MSVC) — интегрированная среда разработки приложений на языке C++, разработанная фирмой Microsoft и поставляемая либо как часть комплекта Microsoft Visual Studio, либо отдельно в виде бесплатного функционально ограниченного комплекта Visual C++ Express Edition. Сменила интегрированную среду разработки Microsoft QuickC.

Поддержка .NET Framework

Visual C++ поддерживает разработку приложений как на Managed C++ и C++/CLI, так и на обычном C++, и тем самым позволяет генерировать код как для платформы .NET Framework, так и для исполнения в среде «чистой» Windows. В этом отношении Visual C++ является уникальным среди других языковых средств, предоставляемых средой Visual Studio, поскольку ни Visual Basic .NET, ни Visual J# не способны генерировать код для чистого Win32, в отличие от предыдущих версий (Visual Basic и Visual J++ соответственно).
Как бы VC++ - это немного IDE, а не язык программирования.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума
Старый 07.07.2010, 14:19   #13
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Ваш пример некорректен, ваш класс 'a' нисколько не абстрактен, попробуйте еще раз.

В обозначениях C++ интерфейс( описание, кому как удобней ) класса :
Код:
class some{
public:
   some();
protected:
   int i;
};
Реализация( методов, обычно в другом файле ) класса :
Код:
some::some(){
   i = 5;
}
Это во-первых, ввиду того что из шаблона класса/метода _во время компиляции_ генерируются обычные класс/метод, то необходимо иметь доступ к описанию интерфейса и реализации шаблонного класса/метода, что можно сделать, но через костыли и смысл в разделении на два файла интерфейса класса и его реализации тогда теряется.
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux

Последний раз редактировалось ozo; 07.07.2010 в 14:22.
ozo вне форума
Старый 07.07.2010, 14:36   #14
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
Вот тебе в С#:
Код:
class myclass<type1, type2> {}
А вот скудные отличия от шаблонов С++, про которые ты брызгаешь слюнями направо и налево:

1 Параметризованные типы в C# не могут иметь типов по умолчанию
2 Параметризованные типы не могут быть использованы в качестве базовых классов для общих типов
3 Не допускается использования этих классов в качестве параметров типов в других классах.
Во-первых, я ничем не брызгаю.
Во-вторых, не на тех сайтах информацию ищете: http://msdn.microsoft.com/ru-ru/library/c6cyy67b.aspx
Цитата:
Сообщение от Loji Посмотреть сообщение
Ты очень часто вкладываешь шаблон в шаблон и используешь шаблоны с параметрами по умолчанию?
В остальном это полностью аналогию шаблонов в С++.
Я не ем рыбу. Значит она не нужна и существует зря. Еще я не ем баклажаны. Значит рыба - это почти баклажан. Так?
Цитата:
Сообщение от Loji Посмотреть сообщение
Похоже мы с вами говорим о разных языках, вы о С++, я о visual C++.
А вижуал С++ - это не С++? А мужики то не знают (с)
Цитата:
Сообщение от Loji Посмотреть сообщение
Если вы сомневаетесь в чем то - откройте ASP.NET там как раз используется класс с декларацией partial, который разбит на несколько разных файлов, и все сомнения отпадут.
Я не сомневаюсь. Я знаю, что в C# есть partial классы, что они работают и успешно применяются в Windows Forms, DataSet'ах для разделение автоматически сгенерированного кода от кода программиста и это не единственное их применение.
Цитата:
Сообщение от Loji Посмотреть сообщение
Говоришь не позволяют?
А как же это:
Код:
class a abstract  //Интерфейс
    {
	public:
		template<class T> T my(T a);
    };
 
   class b:public a  //Реализация
    {
	public:
		template<class T> T my(T a){};
	
    };
Скомпилируйте теперь это:
Код:
a *r = new b();
a->my(10);
Что будет? Информация о том, что в классе а нет реализации метода my. Пробуем оформить этот метод как абстрактный и получаем, что шаблонные методы нельзя делать виртуальными, а то, что написано - ни что иное, как простое перекрытие одноименных методов. Таким образом, метод my класса b не имеет никакого отношения к методу my в классе a.
Цитата:
Сообщение от Loji Посмотреть сообщение
Интерфейсы есть везде:
Код:
class interface abstract 
    {
	public:
		void my(int a);
    };
Начнем с того, что должно это выглядеть так:
Код:
class interface abstract 
    {
	public:
		virtual void my(int a) = 0;
    };
И без виртуального деструктора получится в итоге трудноуловимая фигня при использовании этого "интерфейса".
Дальше я подозреваю, что нужно начинать расписывать разницу между абстрактными классами и интерфейсами? В С++ нет интерфейсов, есть только абстрактные классы, которыми затыкают это упущение. Разница между интерфейсами в C# и тем, что позволяют сделать абстрактные класы достаточно большая. Реализуйте мне такое на С++ с интерфейсами, раз они у Вас есть:
Код:
public interface IA
{
  int GetValue();
}

public interface IB
{
  int GetValue();
}

public class A: IA, IB
{
  int IA.GetValue()
  {
    return 1;
  }
  
  int IB.GetValue()
  {
    return 2;
  }

  public int GetValue()
  {
    return 0;
  }
}
...
A a = new A();
Console.WriteLine("IA: {0}\nIB: {1}\nA: {2}",
  (a as IA).GetValue(),
  (a as IB).GetValue(),
  a.GetValue());
Должно выйти на экран:
Цитата:
IA: 1
IB: 2
A: 0
Я так делать на С++ не умею.

Цитата:
Сообщение от Loji Посмотреть сообщение
Другое дело в CLR добавили ключевое слово interface, так сказать узаконив их, добавив свою специфику по умолчанию.
В С++ ключевое слово interface добавляется многими библиотеками вот так: #define interface struct. Только от этого структуры не стали нормальными интерфейсами.
pu4koff вне форума
Старый 07.07.2010, 16:29   #15
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
O_o
Где это вы такой язык выкопали??

Как бы VC++ - это немного IDE, а не язык программирования.
Visual C++ это компилируемый язык программирования. Если вам хочется назвать огурец помидором, то от этого суть не изменится. То вы говорите про допотопный С, потом пишете что С++ в корне отличается от visual C++, потом пишете что это все одно и тоже. Какой бред в итоге оставить решайте сами.


Цитата:
Сообщение от ozo Посмотреть сообщение
Ваш пример некорректен, ваш класс 'a' нисколько не абстрактен, попробуйте еще раз.
Мой пример правильный и корректен. Клас абстрактный с чисто виртуальным методом. Попробуйте запустить его на Visual C++. Единственное что в CLR не нужно писать слово virtual и =0 ,при объявлении интерфейса, а здесь надо.
Ну слово abstract для тебя ничего не значит.

Цитата:
Сообщение от ozo Посмотреть сообщение
В обозначениях C++ интерфейс( описание, кому как удобней ) класса :
Код:
class some{
public:
   some();
protected:
   int i;
};
Реализация( методов, обычно в другом файле ) класса :
Код:
some::some(){
   i = 5;
}
Это во-первых, ввиду того что из шаблона класса/метода _во время компиляции_ генерируются обычные класс/метод, то необходимо иметь доступ к описанию интерфейса и реализации шаблонного класса/метода, что можно сделать, но через костыли и смысл в разделении на два файла интерфейса класса и его реализации тогда теряется.
1 Генерируется не обычный класс, метод , а семейство перегруженных методов, при компиляции. Иными словами, различий нет между перегруженными методами и шаблонами.

2 У вас нет знаний для чего нужны интерфейсы и что это вообще такое. Вам кажется , зачем вызывать метод один из другого класса, если его можно реализовать отдельной строкой.
Так вот приоткрою для вас завесу мрака - интерфейс это абстрактный клас, состоящий из чисто витуальных методов имеющих доступ public. Если бы вы это знали, вы бы не писали и другие тоже не писали бы что в С или С++ нет интерфейсов.
А для чего это нужно попробуй сам догадаться.

3 Я не говорил про разделение на 2 файла интерфейса и его реализацию.


[QUOTE=pu4koff;571280]
Скомпилируйте теперь это:
Код:
a *r = new b();
a->my(10);
Что будет? Информация о том, что в классе а нет реализации метода my. Пробуем оформить этот метод как абстрактный и получаем, что шаблонные методы нельзя делать виртуальными, а то, что написано - ни что иное, как простое перекрытие одноименных методов. Таким образом, метод my класса b не имеет никакого отношения к методу my в классе a.
[/CODE]
Правильней вызывать надо так:
Код:
a->my<int>(10);
Все дело в том, что шаблонные методы при компиляции разбиваются на множество перегруженных функций(методов). Думаю здесь можно по разному понимать, кому перекрытие, кому нереализованный метод.


Цитата:
Сообщение от pu4koff Посмотреть сообщение
Начнем с того, что должно это выглядеть так:
Код:
class interface abstract 
    {
	public:
		virtual void my(int a) = 0;
    };
В Visual C++ CLR по какому я специализируюсь интерфейс объявляют так:
Код:
 interface class a {
      void my();
   };
Т.е. не пишется =0 и слово vitual и все члены по умолчанию имеют доступ public, а также являются чисто виртуальными. Т.к. это аналогия абстрактного класса, да слово virtual.. =0 я упустил. Когда знаешь сразу несколько языков, например C++ C++CLR, C# и наскорую руку отвечаешь то можно и упустить какую то декларацию, касающуюся специфики языка. Кстати, если память не изм. в управл. С++ можно =0 опускать.

[QUOTE=pu4koff;571280]
И без виртуального деструктора получится в итоге трудноуловимая фигня при использовании этого "интерфейса".
Дальше я подозреваю, что нужно начинать расписывать разницу между абстрактными классами и интерфейсами? В С++ нет интерфейсов, есть только абстрактные классы, которыми затыкают это упущение. Разница между интерфейсами в C# и тем, что позволяют сделать абстрактные класы достаточно большая. Реализуйте мне такое на С++ с интерфейсами, раз они у Вас есть:
Код:
public interface IA
{
  int GetValue();
}

public interface IB
{
  int GetValue();
}

public class A: IA, IB
{
  int IA.GetValue()
  {
    return 1;
  }
  
  int IB.GetValue()
  {
    return 2;
  }

  public int GetValue()
  {
    return 0;
  }
}
...
A a = new A();
Console.WriteLine("IA: {0}\nIB: {1}\nA: {2}",
  (a as IA).GetValue(),
  (a as IB).GetValue(),
  a.GetValue());
На самом деле механизм жесткого связывания интерфейсов к реализующему классу это и все чем отличается абстракный класс от интерфейса. И это можно обойти и довольно просто. Нужно не использовать одноименные методы в разных интерфейсах. Ах да, множественное наследование как само собой разумеется от интерфейсов.


Да, - Жду гавно дальше , от псевдо -"папок", которые возомнили из себя "Мега - знатоков", а на самом деле кроме своего допотопного 100 летнего С , ничего не соображают.
По очереди пишем и ждем.

Последний раз редактировалось Loji; 07.07.2010 в 18:25.
Loji вне форума
Старый 07.07.2010, 19:43   #16
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
Правильней вызывать надо так:
Код:
a->my<int>(10);
Про то, что компиляторы С++ сами в состоянии определить нужный шаблон по параметрам Вы видимо не слышали? В данном случае a->my(10) полный эквивалент a->my<int>(10);
Цитата:
Сообщение от Loji Посмотреть сообщение
Все дело в том, что шаблонные методы при компиляции разбиваются на множество перегруженных функций(методов). Думаю здесь можно по разному понимать, кому перекрытие, кому нереализованный метод.
Причем здесь как понимать? Метод не реализован и точка. Причем здесь перекрытие и т.д.? Реализации метода нет, вызывать нечего, компилятор ругается. Какие тут могут быть непонятки я не знаю.
Цитата:
Сообщение от Loji Посмотреть сообщение
На самом деле механизм жесткого связывания интерфейсов к реализующему классу это и все чем отличается абстракный класс от интерфейса.
Еще в абстрактном классе могут содержаться переменные-члены класса, можно управлять видимостью методов/членов (public, protected, private), писать реализацию методов, создавать конструкторы/деструктор. И идеологически абстрактный класс близко не стоит с интерфейсом.
Цитата:
Сообщение от Loji Посмотреть сообщение
И это можно обойти и довольно просто. Нужно не использовать одноименные методы в разных интерфейсах.
Да вообще элементарно. Разрабатывают у нас библиотеку два человека, спроектировали интерфейсы для своих частей, вот их нужно состыковать и бац. Куча одноименных методов. И вот эти два программиста пол дня спорят, кто должен свои методы переименовывать, т.к. никому не хочется переправлять кучу кода, завязанного на этот интерфейс. А через пару лет третий программист путается в библиотеке, т.к. в одном интерфейсе количество элементов возвращается методом GetCount, в другом - GetSize, а в третьем GetLength.
Цитата:
Сообщение от Loji Посмотреть сообщение
Ах да, множественное наследование как само собой разумеется от интерфейсов.
Цитата:
Сообщение от Loji Посмотреть сообщение
Да, - Жду гавно дальше , от псевдо -"папок", которые возомнили из себя "Мега - знатоков", а на самом деле кроме своего допотопного 100 летнего С , ничего не соображают.
И откуда такие берутся... Кучковалась тут кучка неудачников, которые ничего не понимают и поставил всех на место. Молодец. Прямо Д'Артаньян.
Цитата:
Сообщение от Loji Посмотреть сообщение
По очереди пишем и ждем.
Не. Не Д'Артаньян. Я Вас узнал. Остап Бендер, сеанс одновременной игры в шахматы. Очень знаете ли напомнило
pu4koff вне форума
Старый 07.07.2010, 20:03   #17
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

А начилось все с C#. Война миров какая-то ...
Цитата:
огурец
Цитата:
помидором
И где-то там еще баклажан с рыбой был.
Уже целый огород собрали.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума
Старый 07.07.2010, 20:17   #18
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Visual C++ это компилируемый язык программирования. Если вам хочется назвать огурец помидором, то от этого суть не изменится. То вы говорите про допотопный С, потом пишете что С++ в корне отличается от visual C++, потом пишете что это все одно и тоже. Какой бред в итоге оставить решайте сами.
У меня складывается мнение, что вы вообще не знаете, что такое Си, что такое C++ и даже что такое C++ CLR по которому вы, по вашим словам, специализируетесь.
По-вашему выходит, что существует три языка: допотопный Си, какой-то косячный Visual C++ и C++ CLR, который круче всего на свете. Готов поспорить, что ни одной книжки по C++ вы не читали, а только книжки по MS VS. Так вот, сделайте милость - прочитайте хотя бы википедию. Уверяю вас, найдете много нового. Кстати, на всякий случай расскажу, что C++ создал не Билл Гейтс, а Бьёрн Страуструп (или уж как его имя правильнее транслитерировать).
Прежде возомнить себя гуру во всем и вся, попробуйте хотя бы осмыслить то, про что пытаетесь спорить и не считайте всех вокруг себя (д'Артаньяна) п********и. Ваша же чудовищная некомпетентность вылазит наружу.
Цитата:
1 Генерируется не обычный класс, метод , а семейство перегруженных методов, при компиляции. Иными словами, различий нет между перегруженными методами и шаблонами.
Как раз таки генерируется самый обычный класс, а не какое-то непонятное семейство Адамсов. А еще, нет различий между функциями и методами класса, макросами и константами, массивами символов и std::string и многим, многим другим...

С нетерпением жду множества брызганья слюнями и обвинений в умственной неполноценности и снисходительно-презрительного "тыканья" от нашего Великого Гуру настолько адекватного и толерантного, что аж репутация зашкаливает.
Пардон, господа! Не удержался.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума
Старый 07.07.2010, 20:19   #19
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Цитата:
Сообщение от Loji Посмотреть сообщение
Ну слово abstract для тебя ничего не значит.
Код:
class any{
public slots   :
   olo();
public signals :
   oli();
private        :
   int i;
}
Только сейчас, в C++ есть слоты и сигналы.
И да, ваше слово abstract, что может быть :
#define abstract что-угодно
мне ни о чем не говорит, как и моему компилятору.
На какой спецификации языка вы пишите - ваши половые трудности

Цитата:
Сообщение от Loji Посмотреть сообщение
У вас нет знаний для чего нужны интерфейсы и что это вообще такое. Вам кажется , зачем вызывать метод один из другого класса, если его можно реализовать отдельной строкой.
Что ж вы за меня всё решаете ? )
А вы, а вы - не знаете сколько будет 5^3 Я для вас немного приоткрою завесу мрака : 5^3 == 5*5*5, а сколько это, вы наверное догадаетесь )
Цитата:
Сообщение от Loji Посмотреть сообщение
3 Я не говорил про разделение на 2 файла интерфейса и его реализацию.
А я писал по теме
Цитата:
Сообщение от Loji Посмотреть сообщение
Когда знаешь сразу несколько языков, например C++ C++CLR, C# и наскорую руку отвечаешь то можно и упустить какую то декларацию, касающуюся специфики языка.
Другим это не сильно мешает
Цитата:
Сообщение от Loji Посмотреть сообщение
Кстати, если память не изм. в управл. С++ можно =0 опускать.
Я не знаю что такое управл., но мой компилятор с вами не согласен ;')
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума
Старый 08.07.2010, 08:36   #20
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Про то, что компиляторы С++ сами в состоянии определить нужный шаблон по параметрам Вы видимо не слышали? В данном случае a->my(10) полный эквивалент a->my<int>(10);
Скомпилируй этот код:
Код:
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 - концептуально правильно писать, как я написал, чтобы не было путаницы, и другие компиляторы выбрасывают ошибки.

Цитата:
Причем здесь как понимать? Метод не реализован и точка. Причем здесь перекрытие и т.д.? Реализации метода нет, вызывать нечего, компилятор ругается. Какие тут могут быть непонятки я не знаю.
Напиши этот код в C++ CLR и увидишь что компилятор не ругается.

Цитата:
Сообщение от pu4koff Посмотреть сообщение
И идеологически абстрактный класс близко не стоит с интерфейсом.
Читай про интерфейсы и абстрактные классы
http://ru.wikipedia.org/wiki/%D0%98%...D0%B8%D0%B5%29

Приведу цитату с википедии: "Можно заметить, что интерфейс, с точки зрения реализации — это просто чистый абстрактный класс";

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Да вообще элементарно. Разрабатывают у нас библиотеку два человека, спроектировали интерфейсы для своих частей, вот их нужно состыковать и бац. Куча одноименных методов. И вот эти два программиста пол дня спорят, кто должен свои методы переименовывать, т.к. никому не хочется переправлять кучу кода, завязанного на этот интерфейс. А через пару лет третий программист путается в библиотеке, т.к. в одном интерфейсе количество элементов возвращается методом GetCount, в другом - GetSize, а в третьем GetLength.
Это вы описали похоже 2 программиста полных дурня? Которые сроду не писали ничего и используют первый раз интерфейсы. Обычно люди ЗНАЮТ это , и если пишется один класс- реализация, то только осел будет использовать стандартные методы (их скорее всего оставят для общих действий). Когда каждый пишет реализацию ,здесь как раз идентификатор partial C#, очень кстати.


Цитата:
Сообщение от pu4koff Посмотреть сообщение
И откуда такие берутся... Кучковалась тут кучка неудачников, которые ничего не понимают и поставил всех на место. Молодец. Прямо Д'Артаньян.
Не. Не Д'Артаньян. Я Вас узнал. Остап Бендер, сеанс одновременной игры в шахматы. Очень знаете ли напомнило

Поверь мне, если человек разбирается, я признаю это.



Цитата:
Сообщение от Гром Посмотреть сообщение
попробуйте хотя бы осмыслить то, про что пытаетесь спорить и не считайте всех вокруг себя (д'Артаньяна) п********и. Ваша же чудовищная некомпетентность вылазит наружу.
Хотите разочарую вас? Я не только книжки читал, я это учил. Тем более по своей специальности.
За слова надо отвечать: укажите места в которых, по вашим словам я не компетентен. Если вы можете только в общем нести подобную фигню, то можете вообще не отвечать ибо для меня пустые слова так же ничего не значят.

Вы мне и не только вы много раз тыкаете фразу с упоминанием д'Артаньяна. ВОТ , в чем на самом деле причина. ВОТ что вас бесит на самом деле,- что человек пишет как оно есть и пишет свое мнение, а не лижет задницу у таких как вы и не поддакивает в ответ. ВОТ что вас заедает. Что человек пришел на форум и пишет как оно есть, а такие как вы тут сидят месяцами и ожидают что им будут подлизывать и поддакивать. - А НЕ ТО , что я не компетентен.


Цитата:
Сообщение от Гром Посмотреть сообщение
Как раз таки генерируется самый обычный класс, а не какое-то непонятное семейство Адамсов. А еще, нет различий между функциями и методами класса, макросами и константами, массивами символов и std::string и многим, многим другим...
Похоже вы решили как говорится "съехать с темы". ТО, что считается с точки зрения программирования и то КАК оно реализуется внутри это совсем разные вещи. Мы считаем так как нам удобно понимать, для простоты. А то, что абстрактный класс создается как обычный с директивой на запрет создания объектов ( внутри ) то до этого нет никакого дела. Не надо подменять эти понятия.

Цитата:
Сообщение от Гром Посмотреть сообщение
С нетерпением жду множества брызганья слюнями и обвинений в умственной неполноценности и снисходительно-презрительного "тыканья" от нашего Великого Гуру настолько адекватного и толерантного, что аж репутация зашкаливает.
Пардон, господа! Не удержался.
Ждите, каждый в жизни чего то ждет.

Последний раз редактировалось Loji; 08.07.2010 в 09:01.
Loji вне форума
Закрытая тема


Купить рекламу на форуме - 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