Pou*_*dXI 7 c++ class function include duplicates
是否可以从Foo.cpp调用foo()函数而不将函数名Foo :: foo()更改为Foo :: newfoo().
main.cpp中
#include <iostream>
#include "Foo.hpp"
class Foo {
public:
void foo() {
std::cout << "Foo::foo\n";
}
void bar() {
std::cout << "Foo::bar\n";
foo();// need to call foo() function from foo.cpp not Foo::foo()
}
};
int main () {
Foo f;
f.bar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Foo.hpp
#ifndef FOO_HPP_INCLUDED
#define FOO_HPP_INCLUDED
void foo();
#endif // FOO_HPP_INCLUDED
Run Code Online (Sandbox Code Playgroud)
Foo.cpp中
#include "Foo.hpp"
#include <iostream>
void foo(){
std::cout << "foo\n";
}
Run Code Online (Sandbox Code Playgroud)
ps.sorry为我可怜的英语.
Alo*_*ave 14
使用自由函数的完全限定名称.
::foo();
Run Code Online (Sandbox Code Playgroud)
该::函数名的前面,告诉编译器通过名称来调用该函数foo()是在全球范围内.
如果自由功能foo() 是在一些其他的命名空间,您需要使用完全合格的名称指定命名空间.
namespacename::foo();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3406 次 |
| 最近记录: |