@mastersthesis{MTMT:30548287, title = {Verification and Application of Program Transformations}, url = {https://m2.mtmt.hu/api/publication/30548287}, author = {Horpácsi, Dániel}, doi = {10.15476/ELTE.2018.170}, publisher = {Eötvös Loránd University}, unique-id = {30548287}, year = {2019}, orcid-numbers = {Horpácsi, Dániel/0000-0003-0261-0091} } @mastersthesis{MTMT:2361256, title = {Generatív programok helyessége}, url = {https://m2.mtmt.hu/api/publication/2361256}, author = {Pataki, Norbert}, unique-id = {2361256}, year = {2013}, orcid-numbers = {Pataki, Norbert/0000-0002-7519-3367} } @article{MTMT:1993876, title = {Subtle Methods in C++}, url = {https://m2.mtmt.hu/api/publication/1993876}, author = {Szűgyi, Zalán and Pataki, Norbert and Mihalicza, József}, doi = {10.2478/v10198-011-0023-x}, journal-iso = {ACTA ELECTROTECH INF}, journal = {ACTA ELECTROTECHNICA ET INFORMATICA}, volume = {11}, unique-id = {1993876}, issn = {1335-8243}, abstract = {Nowadays complex software systems are designed and implemented with the help of the object-oriented paradigm principally. However, object-oriented languages support the object-oriented paradigm in different ways with different constructs. C++ has a sophisticated inheritence notation based on access modifiers. C++ distinguishes virtual, pure virtual and non-virtual methods. Java uses final classes and methods to disable inheritance. However, Java does not support multiple inheritance. Eiffel allows renaming inherited methods. In this paper we present some method utilites for C++ to create safer and more flexible object-oriented systems. We present how the method renaming can be implemented. We developed constructs to create final and unhidable methods. These constructs are implemented with the help of C++ template facilities. We present scenarios where one can write safer code with our constructs.}, year = {2011}, eissn = {1338-3957}, pages = {11-16}, orcid-numbers = {Pataki, Norbert/0000-0002-7519-3367} }