使用main.cpp和foo.cpp

时间:2014-09-03 20:48:54

标签: c++

我有一个我上课的简单程序,我找到了一个使用

的程序示例

.h foo.cpp and main.cpp

我进入了那个程序并让它编译得很好但是当我把我的分开时,我无法编译它。

从其他.cpp文件中运行main方法的典型过程是什么?

这是我当前运行的程序,

main.cpp

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

std::ostream& operator<<(std::ostream& s, const cars& c) {
    return s << c.make << ' ' << c.model  << ' ' <<  c.col << ' ' << c.wheels;
}

int main() {

    cars c("Audi", "A4", "Black", "4");
    cars q(c);

    std::cout << c << '\n';

    std::cout << q << '\n';

    return 0;
}

如果我想创建一个cars.cpp文件并将其拆分,那么我在主要方法中只需cout我会遵循哪些规则?

例如我应该在overridemain.cpp还是应该将其移至cars.cpp

我显然可以复制我发现的其他程序,但我想了解这一点。

也不是这不是作业。我完成了它我想知道如何做到这一点,因为我是一个超级英雄,碰巧喜欢领先于其他人。

2 个答案:

答案 0 :(得分:2)

添加

extern std::ostream& operator<<(std::ostream& s, const cars& c);
cars.h中的

移动实施,

std::ostream& operator<<(std::ostream& s, const cars& c) {
    return s << c.make << ' ' << c.model  << ' ' <<  c.col << ' ' << c.wheels;
}

cars.cpp

答案 1 :(得分:1)

  1. 在cars.cpp中移动ostream运算符
  2. 在cars.h中为其添加声明
  3. 在cars.h中加入iostream。
  4. 我认为cars.cpp已包含cars.h了吗?