Вопрос № 96788: Скажите, можно ли сделать ф-ю main членом-функцией какого-либо класса ? Если да,то привмдите пример....Вопрос № 96845: Здравствуйте! Меня зовут Адам. Я столкнулся вот с какой проблемой. Занимаюсь программированием на С++ уже долго, но никогда не создавал программы для интернете. У меня не получается отправить почту из программы. Я все перепробовал через все smtp серв...
Вопрос № 96.788
Скажите, можно ли сделать ф-ю main членом-функцией какого-либо класса ? Если да,то привмдите пример.
Отвечает: estiGi
Здравствуйте, Денскевич Р!
Нельзя, потому что функция main вызывается снаружи (функцией mainCRTStartup или WinMainCRTStartup), и вызывается она как функция глобальная.
А для того, чтобы вызвать любую функцию класса, нужно как минимум его имя. Естессно, снаружи оно не известно.
Возможно, так можно устроить, используя хитрые заморочки с дефайнами, тайпдефами, подменой адреса.... но честных, документированных путей нет, насколько я знаю
Ответ отправил: estiGi (статус: Студент)
Ответ отправлен: 31.07.2007, 01:04
Отвечает: Терсков Сергей
Здравствуйте, Денскевич Р!
Конкретно саму глобальную функцию main конечно нельзя. По стандарту ее вызов проводится именно как глобальный. Но сделать у какого-либо класса функцию main вам никто не мешает. Например как в приложении
Приложение:
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 31.07.2007, 03:19 Оценка за ответ: 5
Отвечает: Ole
Здравствуйте, Денскевич Р!
Категорически нет.
Ответ отправил: Ole (статус: 3-ий класс)
Ответ отправлен: 31.07.2007, 06:12 Оценка за ответ: 5
Отвечает: Valodya
Здравствуйте, Денскевич Р!
В С/С++ - нельзя, в отличие от C#, где это - необходимое условие.
Ответ отправил: Valodya (статус: 1-ый класс)
Ответ отправлен: 31.07.2007, 08:11 Оценка за ответ: 5
Отвечает: kool
Здравствуйте, Денскевич Р!
Так, например,
#include
class A{
int main(){
return -1;
}
};
int main(){
return -1;
}
Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 31.07.2007, 19:49
Вопрос № 96.845
Здравствуйте! Меня зовут Адам. Я столкнулся вот с какой проблемой. Занимаюсь программированием на С++ уже долго, но никогда не создавал программы для интернете. У меня не получается отправить почту из программы. Я все перепробовал через все smtp серверы пробовал. Скачивал разные исходники из интернете, но я что-то делаю не так. Сам Visul C++ не выдает ни каких ошибок вроди все отлично, да и ответы от сервера вроди приходят положительные. Может когда письмо доходит до сервера они воспринимаются как спам и удаляются,
не знаю. Пожалуйста помогите мне создать прогу для отправки почты, а также и вложенных файлов. Заранее благодарю.
С уважением Адам.
Отвечает: Ilkras
Здравствуйте, Шахабов Адам Хаважиевич!
Насколько я понимаю, ваша текущая проблема не "как написать" и не "что написать", а "что получилось?". То есть вам нужна среда для отладки вашей аппликации.
Поскольку вы разрабатываете SMTP client, то для отладки вам необходим SMTP server. К сожалению не могу вам посоветовать конкретной программы, но поищите в гугле. Я знаю, что есть бесплатные почтовые сервера, которые можно поставить на Windows.
Кроме того, раз вы разрабатываете сетевую аппликацию, то сниффер вам может очень помочь. Здесь я могу вам порекомендовать Ethereal/Wireshark (http://www.ethereal.com/)
Таким образом вы сможете видеть все, что вы посылаете по сети и что в результате оказывается на сервере.
Вообще, на этапе планирования проекта необходимо планировать(проектировать) также и среду отладки. При этом не стоит полагаться на бесплатные сервера в сети. Они не гарантируют вам обслуживания.
Удачи.
Ответ отправил: Ilkras (статус: Студент)
Ответ отправлен: 31.07.2007, 18:14
Отвечает: Valodya
Здравствуйте, Шахабов Адам Хаважиевич!
Попробуйте посмотреть это: http://sources.ru/cpp/cpp_mail_utilits.shtml
Ответ отправил: Valodya (статус: 1-ый класс)
Ответ отправлен: 31.07.2007, 20:10
Отвечает: Maxim V.G.
Здравствуйте, Шахабов Адам Хаважиевич!
На время отладки можно создать ведения журнала отравки(приёма) сообщений к(от) SMTP серверу(а). Если при просмотре такого журнала не обнаружится ошибок, попробуйте отправить письмо вручную используя telnet.Так появится воможность проверить правильность ввода комманд для SMTP сервера.
P.$. Ссылки на smtp сервера для различных платформ:
http://www.vicman.net/lib/gpl/smtprelay
http://www.softpedia.com/downloadTag/SMTP+Server
http://www.softwarepatch.pl/plik/7317/27/174/163/SMTP-Server-Pro-171.html
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 3-ий класс)
Ответ отправлен: 01.08.2007, 00:15