为了账号安全,请及时绑定邮箱和手机立即绑定

函数调用。。

Line.cpp中不用包含Coordinator.cpp吗?不然Coordinator.h中没有函数的实现啊,又怎么在Line.cpp中调用Coordinator类的方法实现呢?求解。。。

正在回答

1 回答

不用包含.cpp文件,实际上根本不应包含任何含有实现的文件。

Coordinator.h 中含有Coordinator类的定义(不是类实现)。C++中的符号只要提前声明就可使用。对类来说,有了类定义就可以使用这个类。对函数来说,有了函数原型的声明,就可以进行函数调用。

把函数和类的声明单独写在 .h 文件中就是为了让其他想要使用它们的源文件只要include这些“头文件”就可以使用了。

1 回复 有任何疑惑可以回复我~
#1

青草地_溪水边 提问者

谢谢哦,我再问下,我想:.h是头,.cpp是身子一样,含有类的定义然后可以调用,这我想的通,但我想不通的是,有了声明但却不知道类中方法的具体实现,怎么会知道类中方法的具体操作呢?
2015-09-12 回复 有任何疑惑可以回复我~
#2

青草地_溪水边 提问者

是不是c++中只要包含头文件就够了?编译器会去自动查找相关方法的具体实现?
2015-09-12 回复 有任何疑惑可以回复我~
#3

onemoo 回复 青草地_溪水边 提问者

类中的方法也是函数对吧,那么有了头文件(或者说有了类定义)就等于知道了函数声明,在C++中知道函数声明就可以调用函数了。 深入一点说呢:编译器在得到函数声明后就可以生成调用函数的代码,也就是说这个源文件就可以编译了。而找到函数的具体实现是由后续的链接器来负责的。源文件在编译链接后才能生成可执行文件。 P.S. 学习C/C++的麻烦就在于,需要有很多的前期准备知识,比如至少你得了解“编译”“链接”是怎么回事。
2015-09-12 回复 有任何疑惑可以回复我~
#4

青草地_溪水边 提问者 回复 onemoo

谢谢你的热心回答,我现在明白了。。。
2015-09-12 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

函数调用。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信