C++程序 找错 高分求解啊 在线等 解决了 还加分

2024-12-04 12:33:48
推荐回答(2个)
回答1:

: error C2248: 'GetPos' : cannot access protected member declared in class 'CMeter'
在别的类里面不能访问其他类的私有变量和保护变量,只能访问公有变量
你只需要吧
protected:
void SetPos(int nPos) { m_nPos = nPos; }
int GetPos() { return m_nPos; }
上面的protected:去掉就可以了
下面是去掉之后的运行结果
CMeter:20,CStick:10
CMeter:21,CStick:10
CMeter:21,CStick:11
11 12 Press any key to continue

回答2:

你这个编译都编译不过吧。protect怎么能被外部调用呢?
CMeter 的GetPos是protect的,外部不能调用的。把protect去掉就可以了。
不知道楼主只是要编译过能运行就行吧?