相关疑难解决方法(0)

对C++中头文件的实际目的感到困惑

可能重复:
在C++中为什么有头文件和cpp文件?

由于两个相互矛盾的原因,我不太了解C++头文件:

  1. 我认为头文件的目的通常是分离接口和实现.换句话说,客户端使用头文件来学习如何使用该类,但不必担心类如何在内部实际实现此功能.

  2. 那么,为什么它是头文件中指定的C++类的私有变量?

在我看来,在头文件中使用私有变量违反了接口和实现的分离.直觉上,我认为私有变量在源文件中更有意义,因为这是不暴露给外部世界的文件.

也许我只是误解了头文件的目的,而且1.上面只是完全错误?以什么方式?

c++

14
推荐指数
3
解决办法
1万
查看次数

C++ - 构造函数重载 - 私有和公共

你能告诉我为什么下面的代码给我以下错误 - 调用重载"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)

c++ compiler-construction constructor overloading private

8
推荐指数
2
解决办法
3429
查看次数