Форум программистов, компьютерный форум CyberForum.ru

Пространство имен в многофайловной программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Примитив к.игры, проблемы в классе http://www.cyberforum.ru/cpp-beginners/thread343965.html
Проблема показана в атаче Помогите пожалуйста, что не так #include "stdafx.h" #include <iostream> #include "lang.h" using namespace std; enum Suit {clubs,diamonds,hearts,spades}; const int jack = 11;
C++ atof и "фальшивый ноль" Нужно получая аргументы в виде строки (char*) распознать цифры, atof для этого подходит хорошо, но есть один минус - как же мне узнать когда atof возвращает 0.0 то это он распознал число 0.0 в строке или же это он нашёл не подходящий символ. Хотелось бы увидеть изящное решение. Решение по типу от кода символа отминусовать 48 что пришло сразу в голову не подходит так как число может быть не 0, а... http://www.cyberforum.ru/cpp-beginners/thread343960.html
fstream: открытие на запись C++
fstream a("file.txt",ios::out); a<<"abc\n"; a.close(); Перезаписывает файл полностью даже без флага ios::trunc. fstream a("file.txt",ios::out|ios::in); a<<"abc\n"; a.close(); Перезаписывает только первые 4 символа файла, не обрезая файл. Как и должно быть.
Open File Dialog C++/CLI WinForms
Добрый день! Не подскажите, как работать с диалогами открытия/сохранения файлов. Хотя-бы как отрыть файл, то есть получить строку с именем файла из диалога.
C++ Работа с string в С++ http://www.cyberforum.ru/cpp-beginners/thread343914.html
Переменная string str = "123456". Необходимо второй элемент переменной str (str) преобразовать в число и передать в переменную int i. Как это можно сделать?
C++ Модули программы Привет! Недавно начал изучать си++, и у меня возник такой вопрос: как разместить класс или функцию в отдельном модуле. подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,667
21.08.2011, 20:43     Пространство имен в многофайловной программе
Цитата Сообщение от grizlik78 Посмотреть сообщение
На самом деле всё просто. Функции определяются в глобальном пространстве имён.
В файле file1.cpp вместо
C++
1
2
using namespace std;
using namespace SALES;
используй
C++
1
2
3
4
5
namespace SALES
{
 using namespace std;
 // ... Code here ...
}
Страуструп так делать не рекомендует, считая более предпочтительным объявлять каждую функцию
с квалификатором, например:
C++
1
2
3
4
void SALES::setSales (Sales & s, double ar[], int n)
{
    //...
}
Он объсняет это тем, что если в данном пространстве имен не была объявлена такая функция, или
сигнатура определения отличается от сигнатуры объявления, то компилятор способен отловить эту
ошибку. Если же определять функцию в повторном открытии пространства имен, то компилятор в
таких случаях просто примет это определение за определение новой функции.
 
Текущее время: 15:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru