gpt4 book ai didi

c++ - 为什么/什么时候应该使用 C++ 中的作用域运算符在我的类之外声明方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:30 27 4
gpt4 key购买 nike

我来自 .Net 背景,我开始学习我在教程中看到的 c++ here可以通过作用域运算符 :: 在类外部定义函数的内容。

这里是教程中给出的例子:

// classes example
#include <iostream>
using namespace std;

class CRectangle {
int x, y;
public:
void set_values (int,int);
int area () {return (x*y);}
};

void CRectangle::set_values (int a, int b) {
x = a;
y = b;
}

int main () {
CRectangle rect;
rect.set_values (3,4);
cout << "area: " << rect.area();
return 0;
}

我在谷歌上能找到的都是关于范围解析的,但我想知道为什么/什么时候我应该使用像 set_values 这样的声明而不是像 area 这样的类内部的声明。有什么优势、规则、最佳实践吗?

最佳答案

只有当你想把函数实现放在一个单独的文件中时你才会这样做——主要是.cpp

头文件几乎总是有一个 .h 扩展名。头文件的目的是保存供其他文件使用的声明。您主要会在此处定义类的外观 - 函数的定义。如果您必须上很多课,这很有用。使用 .cpp 进入细节 - 实际实现头文件中“定义”的功能。

如果涉及很多类,使用头文件和 cpp 文件将减少构建时间。如果您非常勇敢并想进一步减少构建时间,那么我建议您阅读有关 PIMPL 模式的内容。

您可以阅读更多有关基本信息的信息here

关于c++ - 为什么/什么时候应该使用 C++ 中的作用域运算符在我的类之外声明方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18810726/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com