请问C++如何判断一个类中是否有某变量

比如structpeople{inta;intb;}people1;我现在想判断people1中是否有成员c.应该怎么做呢?... 比如
struct people
{
int a;
int b;
}people1;
我现在想判断people1中是否有成员c.应该怎么做呢?
展开
 我来答
拒绝996的潇洒程序员
2010-08-09 · TA获得超过492个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:275万
展开全部
概括的说,c++不支持直接通过程序判断类中是否存在成员(不像java,c#有Meta信息,可以这么做)。若要知晓,一般是遵循以下三种做法:

首先,标准库都有相关文档(请在MSDN搜索),说明文件中会告诉你类中都有哪些变量。这是最常用的方式。

其次,如果是引用第三方的类库,你会包含他/她写的头文件,这个结构/类会在头文件里有完整的声明结构,可以打开此头文件查看。这也是很常用的方式。

最后,真的不行,还有一个比较dirty的办法,以楼主的例子为例,在main函数里写一句:
cout<<people1.c<<endl;
然后编译,连接,如果编译通过,则c存在,如果编译出错则c不存在。(问题在于,这样做并不能知道c的类型)
sunyanming41
2010-08-20
知道答主
回答量:23
采纳率:0%
帮助的人:0
展开全部
struct{};这是定义结构类型的,不是类的。
变量People1具有的成员就是事先定义people时定好的。
所以不用判断了,变量people1肯定没有成员C。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guangzhoukin
2010-08-09 · TA获得超过1399个赞
知道小有建树答主
回答量:621
采纳率:0%
帮助的人:645万
展开全部
你的问题莫名其妙。什么叫做“有成员c”??一个类的成员完全是编程的时候就定义好的,编译器要求你必须知道一个class到底有那些成员。如果没有定义,难道是运行的时候才定义啊???运行的时候,根本没有什么a,b,c,都是些32位的地址而已。

而且假设你能知道“是否有成员c”,有什么用???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
johy09
2010-08-09
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
编程规则:
先定义,再使用;所以不存在你所说的“人工智能”。这个语言还有待开发。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jb785201
2010-08-09
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
你运行下,要是系统出错说,没有c存在,那就不存在,这个就是逆向的智能c++。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式