可能重复:
在C++中为什么有头文件和cpp文件?
由于两个相互矛盾的原因,我不太了解C++头文件:
我认为头文件的目的通常是分离接口和实现.换句话说,客户端使用头文件来学习如何使用该类,但不必担心类如何在内部实际实现此功能.
那么,为什么它是头文件中指定的C++类的私有变量?
在我看来,在头文件中使用私有变量违反了接口和实现的分离.直觉上,我认为私有变量在源文件中更有意义,因为这是不暴露给外部世界的文件.
也许我只是误解了头文件的目的,而且1.上面只是完全错误?以什么方式?
你能告诉我为什么下面的代码给我以下错误 - 调用重载"C(int)"是不明确的
我认为既然C(char x)是私有的,只有C(float)ctor从外部可见,应该通过将int转换为float来调用.
但事实并非如此.
class C
{
C(char x)
{
}
public:
C(float t)
{
}
};
int main()
{
C p(0);
}
Run Code Online (Sandbox Code Playgroud)