下面的代码我想为intA完成两个不同的值,但我得到:简单的C++继承
clsA a = 1? 1 clsB a = 2? 1
//Code
#include <iostream>
using namespace std;
class clsA {
static const int intA = 1;
public:
virtual int get_a() { return intA; }
};
class clsB: public clsA {
static const int intA = 2;
};
int main() {
clsA a; clsB b;
cout << "clsA intA = " << a.get_a() << endl;
cout << "clsB intA = " << b.get_a() << endl;
}
如何获得对象a的intA = 1和对象b的intA = 2? 谢谢你的反应, 安德烈
为什么你有两个'intA's? – 2012-03-17 20:04:01
您正在寻找的是迟到的静态绑定。自从我上次做了C++以来已经有一段时间了。我不记得它是否支持晚期静态绑定。 – 2012-03-17 20:06:58
其实我想要clsA :: intA = 5和clsB :: intA = 8。我有两个intA用于其余的代码,clsA提供5个随机数,clsB提供8个随机数 – 2012-03-17 20:17:38