Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями? / 9 сообщений из 9, страница 1 из 1
25.03.2017, 17:34
    #39427076
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
У меня в проекте есть деление на каталоги, в каждом из которых есть своя форма работы с пользователем и ее обработка.

Так вот, мне надо для разных форм создать схожие по смыслу классы, но с разной реализацией. Перегружать не хочу, чтобы не создавать помойки.

Я файлы из первой папки скопировал во вторую и подключил во второй папке Qt Creator (поэтому классы и их методы называются одинаково). Теперь получаю сообщение:
Код: plaintext
ошибка: multiple definition of ...

Причем я классы с одинаковыми названиями разложил в разные пространства имен. Все равно получаю ошибку.

Как оставить удобные названия для каждого подпроекта?
...
Рейтинг: 0 / 0
25.03.2017, 18:00
    #39427078
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
авторПричем я классы с одинаковыми названиями разложил в разные пространства имен. Все равно получаю ошибку.
http://ideone.com/H43YbR
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#include <iostream>
using namespace std;
 
namespace a { class a {}; }
namespace b { class b {}; }
 
 
int main() {
	// your code goes here
	return 0;
}
...
Рейтинг: 0 / 0
25.03.2017, 18:18
    #39427083
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
Мне надо вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#include <iostream>
using namespace std;
 
namespace a { class c {}; }
namespace b { class c {}; }
 
 
int main() {
	// your code goes here
	return 0;
}

[/quot]
...
Рейтинг: 0 / 0
25.03.2017, 19:05
    #39427087
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
AlekseySQLМне надо вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#include <iostream>
using namespace std;
 
namespace a { class c {}; }
namespace b { class c {}; }
 
 
int main() {
	// your code goes here
	return 0;
}

[/quot]

http://ideone.com/DnwOtb
...
Рейтинг: 0 / 0
25.03.2017, 20:53
    #39427114
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
А я могу в классе сохранить указатель на функцию? Мне это надо, чтобы из общего класса можно было вызывать разные функции.
Если да, то как это сделать?
...
Рейтинг: 0 / 0
26.03.2017, 00:52
    #39427181
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
AlekseySQLТак вот, мне надо для разных форм создать схожие по смыслу классы, но с разной реализацией. Перегружать не хочу, чтобы не создавать помойки.


Создайте абстрактный класс, в наследниках определите реализацию
...
Рейтинг: 0 / 0
26.03.2017, 00:53
    #39427182
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
AlekseySQLА я могу в классе сохранить указатель на функцию? Мне это надо, чтобы из общего класса можно было вызывать разные функции.
Если да, то как это сделать?

Можете. Только я не уверен, что вам это действительно нужно
...
Рейтинг: 0 / 0
26.03.2017, 08:22
    #39427207
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
SashaMercuryСоздайте абстрактный класс, в наследниках определите реализацию

Я хочу сохранить удобные названия. В случае абстрактного класса мне придется придумывать новое название классу наследнику.
...
Рейтинг: 0 / 0
26.03.2017, 12:06
    #39427258
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями?
Ура! Сделал универсальный диспетчер задач. Теперь туда передается функция и не надо никаких дублирующих объектов создавать.

Так что вопрос о том как дать дублирующее наименования отпадает :)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Qt: Как в одном проекте создать два класса с одинаковым названиями и функциями? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]