搜索继承另一个类的c++类

Search for c++ classes inheriting another class

本文关键字:c++ 另一个 继承 搜索      更新时间:2023-10-16

是否有方法使用bash脚本(也使用grepawksed…)搜索继承给定基类的类(或结构)?

我脑海中有一个类似以下的电话:

./get_classes.sh 'CBaseClass' src/

编辑1:

我已经试过了:

grep -r ':.*CBaseClass' src/

此解决方案有效,但仅当:CBaseClass之间没有任何换行符时有效。这里的另一个问题是,当在同一个头中有两个类都继承CBaseClass时,grep将默认为贪婪匹配(从第一个:到第二个CBaseClass)。

您想要这样的东西:

find src/ ( -name *.h -o -name *.cpp -o -name *.cxx ) -exec egrep '(class|struct).*:.*public.*CBaseClass'{} ; -print

调用get_classes.sh 'CBaseClass' src/ 时执行

相关文章: