如何在名称空间内创建类?

时间:2018-08-12 20:36:15

标签: c++ class header-files

如果在单独的命名空间中定义类的结构,其结构将是什么样?

哪些部分属于头文件,哪些部分属于cpp文件?

如何使类只能通过此特定名称空间访问?

1 个答案:

答案 0 :(得分:0)

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;
}