如何在命名空间内创建 Class?
How to create a Class inside of a namespace?
如果在单独的命名空间中定义,class 的结构必须是什么样的?
哪些部分属于头文件,哪些属于cpp文件?
如何使 class 只能通过这个特定的命名空间访问?
classname.h
#include <iostream>
namespace N {
class classname {
public:
void classmethod();
}
}
classname.cpp
#include "classname.h"
namespace N {
void classname::classmethod() {
std::cout << "classmethod" << std::endl;
}
}
main.cpp
#include "classname.h"
int main() {
N::classname a;
classname b; // Error!
a.classmethod();
return 0;
}
如果在单独的命名空间中定义,class 的结构必须是什么样的?
哪些部分属于头文件,哪些属于cpp文件?
如何使 class 只能通过这个特定的命名空间访问?
classname.h
#include <iostream>
namespace N {
class classname {
public:
void classmethod();
}
}
classname.cpp
#include "classname.h"
namespace N {
void classname::classmethod() {
std::cout << "classmethod" << std::endl;
}
}
main.cpp
#include "classname.h"
int main() {
N::classname a;
classname b; // Error!
a.classmethod();
return 0;
}