• C++构造函数和文件组织


    构造你的函数

    在 main() 上方声明函数,并在 main 下方定义函数 在 main() 上方同时声明并定义函数。

    随着 C++ 程序变得越来越复杂,你可能需要将代码分成多个文件。分开保存函数定义和声明有助于分割并组织你的代码。

    我们看看函数测验中的这段代码。

    # include <iostream>
    
    float distance(float velocity, float acceleration, float time_elapsed);
    
    int main() {
    
        std::cout << distance(3, 4, 5) << std::endl;  
        std::cout << distance(7.0, 2.1, 5.4) << std::endl;
    
        return 0;   
    }
    
    float distance(float velocity, float acceleration, float time_elapsed) {
        return velocity*time_elapsed + 0.5*acceleration*time_elapsed*time_elapsed;
    }

    代码被组织成两个文件,而不是像以前的测验一样将所有内容都放到 main.cpp 中。看看下面的代码main.cpp

    #include <iostream>
    
    float distance(float velocity, float acceleration, float time_elapsed);
    
    int main() {
    
        std::cout << distance(3, 4, 5) << std::endl;  
        std::cout << distance(7.0, 2.1, 5.4) << std::endl;
        
        return 0;   
    }

    distance.cpp

    float distance(float velocity, float acceleration, float time_elapsed) {
        return velocity*time_elapsed + 0.5*acceleration*time_elapsed*time_elapsed;
    }

    打开一个终端并导航到包含这两个文件的文件夹。输入以下命令:

    g++ main.cpp distance.cpp
    ./a.out

    即可一起编译两个文件,然后执行该程序。

    头文件

    函数声明

    float distance(float velocity, float acceleration, float time_elapsed);

    通常也会单独创建一个文件。声明保存在所谓的头文件中,因为头是 main() 函数上方的信息。头文件扩展名通常为 .h 或 .hpp。下面的代码与上面相同,但在头文件中有函数声明。

    main.cpp

    #include <iostream>
    #include "distance.h"
    
    int main() {
    
        std::cout << distance(3, 4, 5) << std::endl;  
        std::cout << distance(7.0, 2.1, 5.4) << std::endl;
        
        return 0;   
    }

    distance.h

    float distance(float velocity, float acceleration, float time_elapsed);

    distance.cpp

    float distance(float velocity, float acceleration, float time_elapsed) {
        return velocity*time_elapsed + 0.5*acceleration*time_elapsed*time_elapsed;
    }

    在main.cpp中多了一行include"distance.h"

    现在,我们假设你想在不同的文件中重用你的 distance 函数。你所要做的,就是使用 include 语句在新文件的顶部声明函数:

    # include "distance.h"

    然后就可以在程序的另一部分使用该函数了。

    将代码组织到不同的 .cpp 文件中,可以把声明与实现分离。此外,使用头文件意味着你不必记住如何进行函数声明,因为你可以用简单的语法将其包含在内

    要编译代码,只需要编译 .cpp文件而不是 .h 文件即可:

    g++ main.cpp distance.cpp

    文件命名

    命名约定规定,头文件和相关的 cpp 文件需使用相同的名称。因此,很显然,distance.h 包含了 distance.cpp 的头部声明。你还会注意到,函数本身名称为 distance()。因此,函数名、.cpp 文件和 .h 文件都是匹配的。

    这些是命名约定。如果你不遵循这些约定,你的 C++代码仍然会被编译;但我们强烈建议你遵循这些约定。

    Include 语法

    你可能想知道,为什么有两种不同类型的 include 语句:

    # include <iostream>
    # include "distance.h"
    

    带引号的 include 语句告诉程序在当前目录中查找 distance.h 文件。

    > 语法则取决于你的 C++ 环境。通常,环境被设置为查找存储 C++ 库的文件,如标准库

  • 相关阅读:
    ImageMagick
    Let's Encrypt:初次使用免费的ssl证书,并生成java用的 jks(keystore) 文件
    Struts功能详解——ActionMapping对象
    DOS在这里
    Servlet中的过滤器Filter详解
    Servlet 监听器Listener详解
    getInitParameter方法
    Maven的默认中央仓库
    手动事务

  • 原文地址:https://www.cnblogs.com/fuhang/p/9056657.html
Copyright © 2020-2023  润新知