如何正确定义功能并实现它们

How to define functions properly and implement them?

本文关键字:实现 功能 何正确 定义      更新时间:2023-10-16

这个结构类似于我的代码,我得到一个错误:int A::getA()const的原型与类A中的任何一个都不匹配。我的另一个问题是运算符<lt;过载。我无法使其正常工作,并且我在声明错误中获得了明确的资格。我尝试在命名空间中获取.hpp,因为我在这里发布的另一个问题中看到了类似的内容,但这没有帮助。如果你给我一个解决方案,你能不能也向我提供我的代码为什么会被破坏的详细信息?

//define.hpp
class A{
...
int getA() const;
int getAa() const;
};
ostream& operator<<(ostream& out, const A& obj); // defined outside of the class

//implement.cpp
ostream& define::operator<<(ostream& out, const A& obj){
    return out << obj.getA() 
                << obj.getAa()
                << endl;
};
int A::getA() const{ ... };
int A::getAa() const{ ... };
int main(){
    return 0
}

全局作用域中的函数,如operator<<函数,不需要设置作用域。因此,跳过定义的define::部分:

ostream& operator<<(...) { ... }