社区
C++ 语言
帖子详情
动态读取变量
nicochang
2003-12-19 06:01:54
假设object是一个对象,里面有Name,Id,Number等成员变量。
var是一个变量
我想实现的是这样一种功能,比如var的值是Name,那么我就可以取得object.Name中的值
如果var的值是Id,那么我就可以取得object.Id中的值
也就是,我不想建立一个switch case 的映射,有没有办法实现
...全文
26
9
打赏
收藏
动态读取变量
假设object是一个对象,里面有Name,Id,Number等成员变量。 var是一个变量 我想实现的是这样一种功能,比如var的值是Name,那么我就可以取得object.Name中的值 如果var的值是Id,那么我就可以取得object.Id中的值 也就是,我不想建立一个switch case 的映射,有没有办法实现
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
newegg2002
2003-12-20
打赏
举报
回复
to plainsong(短歌)
我太菜了,想就他的程序问大家几个简单的问题,希望大家给我解答一下,
我谢谢大家了,!@!!
1.我的编译器也是VC6.0的,可是加了#include<string.h>或者是#include <string>
using namespace std;
都不能构造string的对象.粘下来的贴子,只要有这样的语句,编译器就老提醒:没定义
2.定义变量的时候,std::string是不是随意的呢,我想应该不是啊,他是什么意思啊,
3.那个回车符为什么非得用std::endl,只用endl不也行吗,怎么就,不行啊,
还有就是,我有点小建议,上面的那个程序,main()函数忘了加返回语句
nicochang
2003-12-19
打赏
举报
回复
刚刚回来,谢谢大家,你们的意思是用模板来做,模板不是很熟悉,要去看看,看看能不能实现
实际上,问题是这样:有若干个lib,这些lib中都有很多的成员变量,有的有100多了,都是数据库中字段的映射,这一次需要解决的问题是,程序运行时其他的组件会传给我一个变量,这个变量的值就是某一个lib中的一个成员变量的名字,改动lib是不可能的,而用switch...case ,实现一方面太麻烦,另一方面如果lib变动,这也要作相应的修改
qhgary
2003-12-19
打赏
举报
回复
不是不可能,但是在C++中可能比较困难,因为它要求他们在类型上面至少要有共性,这在Java中,或者C#中就能够实现,因为他们都派生于某一特殊根类
glacierrr
2003-12-19
打赏
举报
回复
struct var
{
enum type;// { int, char, float.....}
union value
{
int iValue;
float lValue;
......
};
};
abitz
2003-12-19
打赏
举报
回复
#include <iostream>
#include <string>
using namespace std;
class test
{
public:
test(const string& name = string(), const string& id = string(),
const string& number = string())
: name_(name), id_(id), number_(number) { }
string name_;
string id_;
string number_;
};
void main()
{
size_t var;
string test::*members[] = { &test::name_, &test::id_, &test::number_ };
test a("liukai", "abitz", "100031100");
cin >> var;
cout << a.*members[var];
}
短歌如风
2003-12-19
打赏
举报
回复
首先要求Name、Id、Number等变量类型相同。下面假设是std::string类型:
#include<iostream>
#include<string>
class Foo
{
public:
std::string Name;
std::string Id;
std::string Number;
};
typedef std::string Foo::*var_t;
int main()
{
var_t Var;
Foo a,b;
a.Name = "a";
a.Id = "1";
a.Number = "123";
b.Name = "b";
b.Id = "2";
b.Number = "122";
Var = &Foo::Name;
std::cout << a.*Var << " " << b.*Var << std::endl;
Var = &Foo::Id;
std::cout << a.*Var << " " << b.*Var << std::endl;
Var = &Foo::Number;
std::cout << a.*Var << " " << b.*Var << std::endl;
std::cin.get();
}
langzi8818
2003-12-19
打赏
举报
回复
var是什么类型的变量你自己不知道吗?
不太知道楼主的意思
soyan
2003-12-19
打赏
举报
回复
把var定义为字符型变量,Name ,Id ,Number都存为字符型就可以了
antijpn
2003-12-19
打赏
举报
回复
首先你要确定var是什么类型的变量,如果这一点无法确定,后面的操作根本无法展开。
不用switch case那就要用if else了,更麻烦
shell 之 read命令
读取
变量
值
1. read命令键盘
读取
变量
的值 1.1 简介 从就键盘
读取
变量
的值,通常用在shell脚本中与用户进行交互的场合。 该命令可以一次
读取
多个
变量
的值,
变量
和输入的值都需要使用空格隔开。 在read命令后面,如果...
Jmeter-csv文件参数化
读取
变量
Jmeter-csv文件参数化
读取
变量
1.创建CSV文件2.在线程组中添加并配置CSV Data Set Config3.引用文件中
变量
来执行请求4.查看结果 我们在用Jmeter做性能测试时经常会碰到一个接口中用到多个
变量
,这时候就可以使用csv...
python从文本中
读取
变量
值_从文本文件中检索
变量
值的最佳方法?
在路上,我会有一些文本文件,结构如下:var_a: 'home'var_b: 'car'var_c: 15.5我需要python
读取
文件,然后创建一个名为var_a的
变量
,值为“home”,依此类推。示例:#python stuff over heregetVarFromFile...
python
读取
txt到
变量
,python中使用txt文本保存和
读取
变量
为什么80%的码农都做不...解决方法:使用两个函数解决问题,一个函数把
变量
保存到文本文件中,另一个
变量
把文本文件从文本文件中读出生成
变量
。以列表
变量
为例:1.保存入txt文件 输入:content(列表
变量
),filename...
pom.xml与*.properties 互相
读取
变量
pom.xml与*.properties 互相
读取
变量
。
C++ 语言
65,189
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章