首页 > 解决方案 > C++哪里写一个类的函数?

问题描述

在我的 C++ 项目中,我有 2 个文件:trip.h trip.cpp

  1. 如果我想编写一个辅助函数,它接受两个整数并返回它们的乘法,我应该在哪里写它以及如何写(常量、静态等......)?注意:当我们将其声明为静态时,我不希望用户能够像在 C 语言中那样使用它。

  2. 如果一个函数需要访问私有成员,我们在类中将其声明为友元。但是,我应该在 .h 文件中的类之外再次写它的标题并将其定义写在 .cpp 文件中吗?注意:我被要求使其成为一个外部函数,这意味着在课堂之外编写。

编辑:我想回答上面的确切问题,我知道我可以按照建议通过不同的方式解决这个问题,但我想坚持这种方法

标签: c++functionclass

解决方案


  1. 我会将trip.cpp中的函数声明并实现为静态函数。C++ 与 C 向后兼容,因此 C 中的任何内容都适用。如您所知,声明函数静态限制是对该目标文件的可见性。

  2. 我会为该类使用静态 私有方法。这里的静态意味着与#1 不同的东西——新的含义是它可以在不关联到它所声明的类的任何实例的情况下被调用。私有意味着它可以调用该类的私有方法(前提是它首先具有对象的句柄)。如果函数相对较短,我只会在 .h 文件中实现它——尽管许多人更喜欢在 .cpp 文件中实现它。


推荐阅读