在类中,怎样统计成员函数的个数、函数名,在另外一个类中显示出来。

Laolao_DU 2018-11-29 03:19:40
例如有这样一个类;
class check
{
public:
void aaa();
void bbb();
void ccc();
......
};

另外一个项目中有vector统计check中所出现的函数;
vector<std::string> vec;
vec.push_back("aaa");
vec.push_back("bbb");
vec.push_back("ccc");

想以后在check中添加函数的时候(例如添加void ddd()),不用再手动在vec中添加函数名。
或在vec中自动化的添加check中的函数,不在去push。
求教求教
...全文
394 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
choudoufu007 2018-12-03
  • 打赏
  • 举报
回复
类声明 static int
Laolao_DU 2018-12-03
  • 打赏
  • 举报
回复
引用 2 楼 小熊之怒 的回复:
在private中,用一个字段标明类函数的数量(要修饰下,构造和析构函数看需不需要了),写个封装,这样只用调用这个封装获取这个数量就行了。 一点拙见,希望可以帮到你。
这样的话还是自己往数据结构里面去添加,老大建议使用宏定义去做,请教能否再声明的同时顺便添加。总感觉不能实现,因为声明和调用根本不在同一步里面
Laolao_DU 2018-12-03
  • 打赏
  • 举报
回复
楼上的大佬们好,您们说的方法还是要自己去维护一个vector来进行保存使用。能否使用类似于#define CHECK(aaa) 的形式放在check类中,声明的同时顺便来进行保存
@风轻云淡_ 2018-11-29
  • 打赏
  • 举报
回复
vector<std::string> vec;
vec.push_back("aaa");
vec.push_back("bbb");
vec.push_back("ccc");
你可以吧这个工作交给class check来做,通过定义一个public类型的vector变量来存放函数名,另一个项目使用的时候只需要拷贝这个vector变量就好了。当然了,不论谁来做都得你自己手动做这个工作,类里面应该没有专门存放函数名可供直接获取的结构。
lin5161678 2018-11-29
  • 打赏
  • 举报
回复
读文件 匹配字符串
小熊之怒 2018-11-29
  • 打赏
  • 举报
回复
在private中,用一个字段标明类函数的数量(要修饰下,构造和析构函数看需不需要了),写个封装,这样只用调用这个封装获取这个数量就行了。
一点拙见,希望可以帮到你。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧