我班上有一些定义问题:
class Test{
protected:
int a;
int *b;
Teste() {}
public:
int getA() {return a;}
int getB() {if (b) return *b; else return 0;}
bool isB() {if(b) return true; else return false;}
Test(int a1, int b1): a(a1) {b = new int(b1);}
Test(const Test& test) {
if (test.isB())
this->b = new int(test.getB());
this->a = test.getA();
}
};
我收到以下错误消息:
“无效的参数'候选人是bool isB()'”
和
“无效的参数'候选人是bool getB()'”
有什么问题?
提前谢谢你,
答案 0 :(得分:4)
你必须声明你的getter函数const能够通过const Test& amp;测试你有。
...
int getA() const { return a; }
int getB() const { if (b) return *b; else return 0; }
bool isB() const { if(b) return true; else return false; }
...