Я послал .SLn файл (вместо .CPP файл) другу; сможет ли он прочитать исходный код из него или это просто файл, используемый из Visual Studio для загрузки проектов?
Нет, файлы SLN хранят только настройки проекта. Вы должны отправить ему весь проект в сжатом файле.
Просто чтобы вы знали, рекомендуемый способ поделиться кодом с другими людьми использует систему контроля версий, например GIT.
Нет, файл sln содержит только ссылки на ваши файлы. Так что по крайней мере теперь он знает название вашего файла;)