所以这是我的问题。假设我们有一个可以完成所有工作的课程,但是当我使用它时,我希望有不同的名字。这是我的意思的例子:
class A
{
public:
int m_Value;
A();
~A();
void Func1();
void Func2();
// ... so on
};
现在创建该类的对象并使用它。
void main()
{
A obj1;
A obj2;
obj1.m_NewName1 = 5; // obj1.m_Value has to be changed to obj1.m_NewName1
obj2.m_NewName2 = 1; //
}
可以这样做吗?
我可以这样做:
class C : public A
{
public:
int &newName1;
C() : newName1 (A::m_Value)
{
}
//Add some copy consructor and assignment operator
};
现在考虑重新命名100个类。不太方便
答案 0 :(得分:0)
您无法更改课程中定义的变量名称。
答案 1 :(得分:0)
这不能在客户端代码中完成。如果要按名称表示不同的值,则执行此操作的方法是将std :: map映射名称用于值。
答案 2 :(得分:0)
以下是否适合您?
class A
{
public:
int a;
int& ref_a;
A(int i): a(i),ref_a(a)
{`enter code here`
}
A(): ref_a(a)
{
}
};
int main()
{
A objA(100);
printf("%d\n",objA.a);
objA.ref_a = 10;
printf("%d\n",objA.a);
return 0;
}