[问题] c&c++的问题

楼主: zxcv4982543 (zxcv4982543)   2015-05-06 20:18:07
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev-C++
小弟有自学c语言&c++,目前两种语言都算能基本操作
小弟在这有个问题
书本上写c语言不支援物件导向和运算子多载,只有c++支援
那为什么我用c 写一些物件class的东西 以及 运算子operator的程式
能够正常执行呢?
作者: Jockey66666 (往事已成追忆)   2015-05-06 20:26:00
c没有class
作者: kwpn (ITSST)   2015-05-06 20:38:00
因为你用的编译器是c++?
楼主: zxcv4982543 (zxcv4982543)   2015-05-06 20:39:00
可是我都是用c打,class也有物件功能耶...上面逗点请无视
作者: BlazarArc (Midnight Sun)   2015-05-06 20:50:00
你打class就不是c了啊...你的档案被当作c++在编译
作者: suhorng ( )   2015-05-06 20:53:00
把副档名从 .cpp/.cc 改成 .c 试试
楼主: zxcv4982543 (zxcv4982543)   2015-05-06 21:04:00
那请问一下,我的程式内有printf/scanf,出来的档案是cpp.所以这样也是被当作c++编译吗?
作者: zelkova (*〞︶〝*)   2015-05-06 21:30:00
你在编译的时候 观察编译器纪录就会发现差别不同类型的编译器 gcc只能编c语言 g++可以编c语言跟c++
作者: descent (“雄辩是银,沉默是金”)   2015-05-06 21:34:00
你要先搞清楚你用的是 c 还是 c++ 编译器最好的方式就是自己下编译指令
作者: suhorng ( )   2015-05-06 21:39:00
gcc 也能编 .cpp 就是......好好 link 函式库就好有 printf,scanf 没有差别, .cpp 就是 C++
作者: zelkova (*〞︶〝*)   2015-05-06 22:03:00
那这样? 不另外链结任何函式库 gcc只能编c g++可编c跟c++
作者: james732 (好人超)   2015-05-06 22:21:00
我记得默认用gcc是可以编C++,但是吃不到library
作者: yvb   2015-05-06 22:23:00
int main(){class X{public:int x;}x={0};return x.x;}附档名若为 .c, gcc 编不过... , 若为 .cc 就可以 :P也许可试着用 gcc -v ... 和 g++ -v ... 看看有些什么差别?
作者: zelkova (*〞︶〝*)   2015-05-06 22:37:00
编译器会看的是内容 不是副档名 http://goo.gl/ftLFDR
作者: suhorng ( )   2015-05-06 22:42:00
这篇讲的就是 compiler 会看副档名不是内容, 我误会了吗?
作者: zelkova (*〞︶〝*)   2015-05-06 22:48:00
喔对讲反了 所以gcc编.cpp会自动判断不用link函式库?
作者: suhorng ( )   2015-05-07 03:31:00
我也不确定 不过猜测是本来就没 link C++, 是 g++ 才会主动去 link
作者: james732 (好人超)   2015-05-07 11:38:00
gcc好像可以加参数来达到g++一样的目的,但有点麻烦
作者: zelkova (*〞︶〝*)   2015-05-07 21:35:00
我的gcc好像没y大跟那文章这么聪明 http://goo.gl/t3gGSr程式都是 std::cout << "hello, world!" << std::endl;
作者: yvb   2015-05-07 21:47:00
要 link libstdc++: gcc test.cpp -o test -lstdc++
作者: zelkova (*〞︶〝*)   2015-05-07 21:58:00
y大编 .cc 有link吗? 我以为你没link编成功连结那篇文章给我的意思也是这样(?
作者: yvb   2015-05-07 22:15:00
前面那个例子,只用c++语法class,完全没用到std,当然不用link.
作者: zelkova (*〞︶〝*)   2015-05-07 23:32:00
谢谢y大 用gcc编class成功我以为它会偷偷去叫g++来做 进而编成功 看起来不是这样不过要用c++函式库 还是要link

Links booklink

Contact Us: admin [ a t ] ucptt.com