Возможно ли в C++ расширить класс (добавить метод) в другом исходном файле, не редактируя исходный исходный файл, в который записан класс?
В obj-c это возможно, написав еще один @interface AbcClass (ExtCategory)... @end
Я получил ошибки во время компиляции, когда я пытался что-то вроде этого:
//Abc.h
class Abc { //This class is from a 3rd party library....
// ...I don't want to edit its source file.
void methodOne();
void methodTwo();
}
//Abc+Ext.h
class Abc { // ERROR: Redefinition of 'Abc'
void methodAdded();
}
Как я могу добавить метод без создания производного класса? Моя цель - сохранить имя Abc и добавить к нему методы. У определенного класса в сторонней библиотеке, который я использовал, отсутствуют некоторые методы, и я хочу добавить эти методы, но я сохраняю исходный файл неотредактированным.
Есть ли способ сделать это? Я новичок в написании C++ кодов. Я знаком с некоторыми из его синтаксиса, но не знаю много.