请问C++如何判断一个类中是否有某变量
比如structpeople{inta;intb;}people1;我现在想判断people1中是否有成员c.应该怎么做呢?...
比如
struct people
{
int a;
int b;
}people1;
我现在想判断people1中是否有成员c.应该怎么做呢? 展开
struct people
{
int a;
int b;
}people1;
我现在想判断people1中是否有成员c.应该怎么做呢? 展开
6个回答
展开全部
概括的说,c++不支持直接通过程序判断类中是否存在成员(不像java,c#有Meta信息,可以这么做)。若要知晓,一般是遵循以下三种做法:
首先,标准库都有相关文档(请在MSDN搜索),说明文件中会告诉你类中都有哪些变量。这是最常用的方式。
其次,如果是引用第三方的类库,你会包含他/她写的头文件,这个结构/类会在头文件里有完整的声明结构,可以打开此头文件查看。这也是很常用的方式。
最后,真的不行,还有一个比较dirty的办法,以楼主的例子为例,在main函数里写一句:
cout<<people1.c<<endl;
然后编译,连接,如果编译通过,则c存在,如果编译出错则c不存在。(问题在于,这样做并不能知道c的类型)
首先,标准库都有相关文档(请在MSDN搜索),说明文件中会告诉你类中都有哪些变量。这是最常用的方式。
其次,如果是引用第三方的类库,你会包含他/她写的头文件,这个结构/类会在头文件里有完整的声明结构,可以打开此头文件查看。这也是很常用的方式。
最后,真的不行,还有一个比较dirty的办法,以楼主的例子为例,在main函数里写一句:
cout<<people1.c<<endl;
然后编译,连接,如果编译通过,则c存在,如果编译出错则c不存在。(问题在于,这样做并不能知道c的类型)
展开全部
struct{};这是定义结构类型的,不是类的。
变量People1具有的成员就是事先定义people时定好的。
所以不用判断了,变量people1肯定没有成员C。
变量People1具有的成员就是事先定义people时定好的。
所以不用判断了,变量people1肯定没有成员C。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的问题莫名其妙。什么叫做“有成员c”??一个类的成员完全是编程的时候就定义好的,编译器要求你必须知道一个class到底有那些成员。如果没有定义,难道是运行的时候才定义啊???运行的时候,根本没有什么a,b,c,都是些32位的地址而已。
而且假设你能知道“是否有成员c”,有什么用???
而且假设你能知道“是否有成员c”,有什么用???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编程规则:
先定义,再使用;所以不存在你所说的“人工智能”。这个语言还有待开发。
先定义,再使用;所以不存在你所说的“人工智能”。这个语言还有待开发。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你运行下,要是系统出错说,没有c存在,那就不存在,这个就是逆向的智能c++。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询