Задача, в файлах .h и .cpp объявить много классов. И при этом, в файлах .h только заголовки, в файлах .cpp только тела функций. И самое главное, в файле .cpp исключить возможность их перемешать. Такое перемешивание возникнет, если их делать по типа ClassTest1::func1, ClassTest2:func1.
Пробовал:
1) partial class (не то)
2) namespace (ложь)
3) объявить также само (компилятор считает переопределением).
Не варианты:
1) Использовать для каждого класса файлы отдельные не вариант, это зафлудит IDE
2) Использовать для всех классов, встроеннный тип.
C/C++
Как в C++ продолжить классы разные сгруппировано в файлах .h и .cpp, при этом не переопределяя классы эти?
> Такое перемешивание возникнет
Не возникнет. Разные классы вполне могут содержать одинаковые методы. Поэтому никак не получится.
Не возникнет. Разные классы вполне могут содержать одинаковые методы. Поэтому никак не получится.
Александр Максимов
Нужно что-то по типу, открыть продолжение класса (блок кода), так чтобы он считался не переопределённым, а продолженным.
не совсем понимаю, что не так с "перемешиванием"
тебя чисто в эстетическом плане беспокоит возможность того, что определения методов разных классов могут идти в cpp-шнике вперемешку?
если да, то это явно с помощью подключения линтера при сборке делается, а не средствами самого языка
а если нет, то ты описал какую-то муть, и нужно попробовать снова, на этот раз с более осмысленной формулировкой, может, даже с какими-то набросками кода
тебя чисто в эстетическом плане беспокоит возможность того, что определения методов разных классов могут идти в cpp-шнике вперемешку?
если да, то это явно с помощью подключения линтера при сборке делается, а не средствами самого языка
а если нет, то ты описал какую-то муть, и нужно попробовать снова, на этот раз с более осмысленной формулировкой, может, даже с какими-то набросками кода
Александр Максимов
С какой Visual Studio работает C++ partial class.
Знаю что в C.Sharp уже в 2008 есть, а вот в C++ по самую 2019 нет.
Знаю что в C.Sharp уже в 2008 есть, а вот в C++ по самую 2019 нет.
Александр Максимов
Хотя на сайте Microsoft, есть статья про parical class для C++/CX
Но это не работает.
Но это не работает.
>Задача, в файлах .h и .cpp объявить много классов.
Ок, объявляй
>И при этом, в файлах .h только заголовки, в файлах .cpp только тела функций.
Ок. А в чем собственно вопрос? Язык позволяет объявить классы в заголовках и в произвольных *.cpp файлах сделать реализацию их методов, при этом класс, конечно, при желании можно размазать по разным *.cpp файлам. Да, кстати, за такое обычно сильно бьют по голове - каждый класс должен быть в своей паре h/cpp, это не "зафлудит IDE", это единственно верный способ композиции классов. Исключение здесь только может быть при инжектировании зависимостей, ну и для каких-то мелких классов-структур.
>И самое главное, в файле .cpp исключить возможность их перемешать. Такое перемешивание возникнет, если их делать по типа ClassTest1::func1, ClassTest2:func1.
Это бред, впрочем, выше уже указали.
Ок, объявляй
>И при этом, в файлах .h только заголовки, в файлах .cpp только тела функций.
Ок. А в чем собственно вопрос? Язык позволяет объявить классы в заголовках и в произвольных *.cpp файлах сделать реализацию их методов, при этом класс, конечно, при желании можно размазать по разным *.cpp файлам. Да, кстати, за такое обычно сильно бьют по голове - каждый класс должен быть в своей паре h/cpp, это не "зафлудит IDE", это единственно верный способ композиции классов. Исключение здесь только может быть при инжектировании зависимостей, ну и для каких-то мелких классов-структур.
>И самое главное, в файле .cpp исключить возможность их перемешать. Такое перемешивание возникнет, если их делать по типа ClassTest1::func1, ClassTest2:func1.
Это бред, впрочем, выше уже указали.
Похожие вопросы
- Написать программу на C++.Создать класс vector3d, задаваемый тройкой координат. Создать конструктор...
- C++: в чем хоть какая-то польза от инициализаторов (которые через двоеточие в конструкторе класса)?
- C++, свой класс MyClass
- Помогите в C++ Включить CPP файл по условию
- Модули. Коммуникация между двумя .c файлами.(Си)
- C++ библиотека fstream. при использовании Кириллицы изменяется кодировка в создаваемом файле..
- Помогите с файлами C++
- C++ Работа с файлами.
- C++, библиотека math.h
- Помогите решить задачку по теме работа с файлами C++