Смешение языков (С++ и С#)
От: stalk  
Дата: 10.06.07 10:22
Оценка:
Добрый день!
У меня есть библиотека написанная на C#. Хочу написать плагин на С++.NET который бы использовал интерфейсы и классы определенные в этой библиотеке. Я вообще-то писал на С++ оооочень давно и многие моменты забыл. Если не сложно, ответьте на следующие вопросы:

1. Есть метод определенный в классе на С# — например


public virtual MyClass method(string str, AnotherMyClass obj) 
{ 
//...
}




хочу переопределить его в потомке на С++. Как правильно?


public: override MyClass method(??? что тута? , AnotherMyClass^ obj) 
{
//...
}


тут не понятно как правильно определить тп возвращаемого значения. Будет ли это MyClass^ или MyClass& или что там еще возможно. Как быть со стрингами? Смотрел msdn там есть какой-то шаблон <string> на него нужно заменять сишарповский стрнг?

2. Можно ли наследоваться от нескольких классов написанных на си шарпе? В с++ есть множественное наследование, но мне не разрешили так делать =(
Re: Смешение языков (С++ и С#)
От: FDSC Россия consp11.github.io блог
Дата: 10.06.07 11:04
Оценка:
Здравствуйте, stalk, Вы писали:

S>У меня есть библиотека написанная на C#. Хочу написать плагин на С++.NET который бы использовал интерфейсы и классы определенные в этой библиотеке.


S>2. Можно ли наследоваться от нескольких классов написанных на си шарпе? В с++ есть множественное наследование, но мне не разрешили так делать =(


Не путай C++ и C++.NET, в точкеНЕТ в принципе нет множетсвенного наследования. Если хочешь писать под .NET лучше сразу переходи на C# и, главное, когда читаешь справку по C++ внимательно смотри, какой именно это C++ — для .NET (C++/CLI) или обычный

Библиотека классов в .NET одна и та же в независимости от языка, если ты, конечно, не используешь стороннюю библиотеку. В MSDN обычно есть примеры на 3 языках к почти каждой статье (C#, VB, C++), можешь сравнить. Хотя C++ для .NET использовать не стоит — моё мнение
Re[2]: Смешение языков (С++ и С#)
От: DiamondBA  
Дата: 22.06.07 11:23
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Хотя C++ для .NET использовать не стоит — моё мнение


Почему нет? Я сам пишу на Java, просто стало интересно почему такое мнение
Re: Смешение языков (С++ и С#)
От: Lloyd Россия  
Дата: 22.06.07 11:33
Оценка:
Здравствуйте, stalk, Вы писали:

S>тут не понятно как правильно определить тп возвращаемого значения. Будет ли это MyClass^ или MyClass& или что там еще возможно. Как быть со стрингами? Смотрел msdn там есть какой-то шаблон <string> на него нужно заменять сишарповский стрнг?


Я не знаю ответа на твой вопрос, но на твоем месте я бы написал наследника на C#, скомпилировал, открыл бы получившуюся сборку рефлектором и выбрал бы в нем MC++ и посмотрел получившийся код
Re[3]: Смешение языков (С++ и С#)
От: _Morpheus_  
Дата: 22.06.07 13:08
Оценка:
Здравствуйте, DiamondBA, Вы писали:

FDS>>Хотя C++ для .NET использовать не стоит — моё мнение


DBA>Почему нет? Я сам пишу на Java, просто стало интересно почему такое мнение


Изуродовали красивый язык
... << RSDN@Home 1.2.0 alpha rev. 676>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.