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

Можно ли прятать методы класса в пространство имен? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление созданных файлов по завершении работы программы http://www.cyberforum.ru/cpp-beginners/thread1062618.html
Здравствуйте, пробую написать простенький инсталлятор, который в процессе работы извлекает из себя файлы ресурсов. Некоторые файлы ресурсов представляют собой exe'шники для единоразового...
C++ Распечатать список студентов, которые получили только оценки 5 на экзаменах, в возрастающем порядке по возрасту С текстового файла считать последовательность записей, содержащих данные о результатах сессии студентов группы в следующем формате: <Фамилия>, <Имя>, <Дата рождения>, <Список экзаменационных оценок>.... http://www.cyberforum.ru/cpp-beginners/thread1062611.html
C++ Для параболы на промежутке [0,1] найти значение производной в десяти равноудаленных точках. С закругленных найденных значений сформировать множество А
Если не трудно.....
С клавиатуры задается последовательность символов C++
Написать программу, которая выводит на экран все возможные перестановки введенных символов,которие являются согласными. Помогите пожалоста............. если не трудно с графическим интерфейсом...
C++ Определение функций http://www.cyberforum.ru/cpp-beginners/thread1062594.html
Помогите последний день сдачи лаб. Определить две функции: void WriteComplex(char * fname, Complex * buffer, int count); – функция записывает count элементов типа Complex из массива buffer в файл...
C++ Сворачивание программы самой себя в трей Добрый вечер! Что нужно прописать в начало программы, чтобы после запуска она сворачивала саму себя в трей? Программа консольная. Добавлено через 4 минуты Поспешил с созданием темы... ... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15547 / 7055 / 1114
Регистрация: 02.05.2013
Сообщений: 11,467
Завершенные тесты: 1
04.01.2014, 15:23
foo.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#pragma once
 
 
 
class foo;
 
namespace foo_impl
{
 
 
 
void private_method(foo &Foo);
 
 
 
} // namespace foo_impl
 
 
 
class foo
{
public:
    explicit foo(int Value);
    ~foo();
 
private:
    foo(foo const &);
    foo &operator =(foo const &);
 
public:
    void public_method();
 
private:
    int const m_Value;
 
friend void foo_impl::private_method(foo &Foo);
};
foo.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "foo.h"
#include <iostream>
 
 
 
foo::foo(int Value) :
    m_Value(Value)
{
}
 
 
 
foo::~foo()
{
}
 
 
 
void foo::public_method()
{
    std::cout << m_Value << std::endl;
}
 
 
 
void foo_impl::private_method(foo &Foo)
{
    std::cout << Foo.m_Value * 2 << std::endl;
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include "foo.h"
 
 
 
int main()
{
    foo Foo(123);
    
    Foo.public_method();
    foo_impl::private_method(Foo);
 
    return 0;
}
Вывод:
> 123
> 246
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru