“实现”,是指具体的细节。比如函数原型,是声明存在这么一个函数,但这个函数到底是如何工作的,具体的代码,却在另外的地方(这是一种信息隐藏的手段),那些具体的代码就是实现,你平时写程序的操作也是这样,写的就是实现。
你的主要问题,是没搞清楚标准库的概念。其实C/C++的工作机制,就是靠的函数,C/C++本身没有什么内置函数,不像别的语言,比如BASIC那样,有具体的函数,比如CHR()这样的函数,是语言自身内置的,属于保留字那样的东西,你不可能写出一个自己的函数也叫CHR(),但C/C++可以,你可以不#include <cstdio>,自己重新写一个printf()函数,实现与标准库中printf()完全不同的功能。这是什么意思呢?意思就是说,C/C++的标准库,其实是别人写好的了一套函数工具箱,供你使用的,你可以用,也可以不用,事实上标准库函数是已经编译好的代码,在你build自己的程序时,这些编译好的模块是链接到你的程序中的,等于别人替你写好了一部分函数。正因为标准库只是一套工具箱,所以很多时候,同样功能的函数,会以不同的形式在不同的地方以不同的面目出现。最典型如取绝对值的函数abs(),如果是有内置函数的语言,一般是只需一个ABS()函数就搞定所有数据类型的,但C/C++不是这样,它针对各种不同的数据类型有不同的函数,比如labs()、fabs()之类,这种名目繁多的函数名称,很容易让人迷乱。不过C/C++的优势也正在这里,由于你可以完全无视这些东西,当不存在,自己重新写一套也是可行的,反而显得非常灵活。其实,只要记住,标准库只是一套经过检验的、好用的函数集合,拿来用就是了,不必一切都自己来。Windows API,或者的别的什么API,如DirectX、OpenGL之类,也不过是更扩展出去的函数库而已,当标准库一样就是了。没有什么纯粹的C/C++编程,不使用标准库和成熟扩展库,C/C++都无法编程了,说这也不是C/C++、那也不是C/C++的人,其实很无知幼稚。
你的主要问题,是没搞清楚标准库的概念。其实C/C++的工作机制,就是靠的函数,C/C++本身没有什么内置函数,不像别的语言,比如BASIC那样,有具体的函数,比如CHR()这样的函数,是语言自身内置的,属于保留字那样的东西,你不可能写出一个自己的函数也叫CHR(),但C/C++可以,你可以不#include <cstdio>,自己重新写一个printf()函数,实现与标准库中printf()完全不同的功能。这是什么意思呢?意思就是说,C/C++的标准库,其实是别人写好的了一套函数工具箱,供你使用的,你可以用,也可以不用,事实上标准库函数是已经编译好的代码,在你build自己的程序时,这些编译好的模块是链接到你的程序中的,等于别人替你写好了一部分函数。正因为标准库只是一套工具箱,所以很多时候,同样功能的函数,会以不同的形式在不同的地方以不同的面目出现。最典型如取绝对值的函数abs(),如果是有内置函数的语言,一般是只需一个ABS()函数就搞定所有数据类型的,但C/C++不是这样,它针对各种不同的数据类型有不同的函数,比如labs()、fabs()之类,这种名目繁多的函数名称,很容易让人迷乱。不过C/C++的优势也正在这里,由于你可以完全无视这些东西,当不存在,自己重新写一套也是可行的,反而显得非常灵活。其实,只要记住,标准库只是一套经过检验的、好用的函数集合,拿来用就是了,不必一切都自己来。Windows API,或者的别的什么API,如DirectX、OpenGL之类,也不过是更扩展出去的函数库而已,当标准库一样就是了。没有什么纯粹的C/C++编程,不使用标准库和成熟扩展库,C/C++都无法编程了,说这也不是C/C++、那也不是C/C++的人,其实很无知幼稚。
授人以渔,不授人以鱼。