Проверьте лицензию в конструкторе

Мне нужно защитить библиотеку C ++, которую я пишу. Библиотека имеет единую точку входа через класс foo, Что я сделал, это:

//.hpp
class foo{
public:
foo();
....
}

//.cpp
foo::foo(){
if(check_for_lic()==result::failed){
throw no_lic_exception();
}
}

У класса есть только один конструктор.

У меня вопрос достаточно? Другими словами, без какого-либо обратного инжиниринга разработчик может построить foo без проверки лицензии?

Постскриптум Я буду раздавать заголовки и статическая библиотека .Lib (или же .)

2

Решение

Если у него есть файл заголовка, он может просто добавить другой перегруженный конструктор для foo, который не проверяет лицензию, и использовать его.

3

Другие решения

Других решений пока нет …