Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2015, 14:22   #1
Thez
Пользователь
 
Регистрация: 23.02.2014
Сообщений: 27
По умолчанию Объявление классов или пространств имён

Здравствуйте!

В общем ситуация следующая, есть:

Код:
class A{};
class B : public A{};
namespace С{}
Нужно, чтобы методы класса B могли запускать функции из пространства имён C, а из пространства имён C можно было использовать класс B.

С функциями это делается примерно так:
Код:
void A(); //объявляем функцию А
void B(){типо используем функцию А}
void A(){} //определяем функцию А
Как сделать примерно то же самое только с классом и пространством?
Пробовал объявлять класс до пространства, а потом определять после, но ничего не вышло. И с extern тоже не получается.

Помогите
Thez вне форума Ответить с цитированием
Старый 12.03.2015, 15:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
#include <iostream>
using namespace std;

namespace C {
void funcInC();
}

class A {
	public:
		A(){};
		
		virtual void work() = 0;
};

class B : public A {
	public:
		B(){};
		void work(){
			cout << "classss B" << endl;
		}
		
		void test(){
			C::funcInC();
		}
};

namespace C {
void funcInC()
{
	B b;
	cout << "in namespace" << endl;
	b.work();
}
}

int main() {
	B b;
	b.test();
	return 0;
}
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дружественность классов из разных пространств имен Antej Общие вопросы C/C++ 3 19.09.2013 19:59
MS Word x64 объявление функций, при использовании пишет, что файл не найден 48 или 53 ошибка Ecosasha Microsoft Office Word 2 09.10.2012 12:06
Методы расширения, проблема из за разных пространств имен mike_tihomirov C# (си шарп) 2 25.06.2012 15:52
Объявление классов. Применение принципов ООП get Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2011 13:15
Лабораторная: объявление классов. Delphi 7 Stail Помощь студентам 1 02.11.2008 19:53