什么是一组漂亮的预处理器黑客(ANSI C89/ISO C90兼容),它在C中实现某种丑陋(但可用)的面向对象?
我熟悉一些不同的面向对象语言,所以请不要回答"学习C++!"这样的答案.我读过" 面向对象的ANSI C编程 "(当心:PDF格式)和其他一些有趣的解决方案,但我最感兴趣的是你:-)!
另请参见您能用C编写面向对象的代码吗?
最近一位老师说"PHP不是一种真正的编程语言",但在我看来,这只是一个弱的理由:
PHP不被视为"真正的"编程语言吗?什么是"真正的"编程语言?编译语言是否必须认真对待?
两天前,我在学校的A-Level计算课上做过入门课程 - 我们在课程的第一年使用Java.我不熟悉Java,但对常规编程基础(变量,函数,面向对象,循环等)有很好的把握.
我们的第一项任务是老师快速地跑得很快.她没有费心去解释任何概念,它们是如何工作的,或者你将如何实际使用它们,并且看起来非常高兴看到大多数学生(总的来说,他们是编程新手)在他们的座位上没有最简单的想法,她在谈论什么.事后看来,我认为她很快就能看到谁可以真正"处理"计算A-Level,因为学生仍有机会在九月开始之前改变他们的科目.
第一个也是唯一的任务是编写一个Java命令行应用程序来将二进制转换为denary(十进制).我们进行了两个小时的品尝会议,在解释了二元系统是如何工作的之后我们必须开始,尽管总的来说,没有人真正有一个最模糊的想法从哪里开始.一个小时后,有些人比其他人更进一步,但没有人真正取得任何重大成就.老师自己变得很困惑,她从隔壁叫另一位老师.他来帮助人们,看看下一步该去哪儿.
没有吹牛,我可能确实在课堂上有最丰富的经验,并且在练习中得到了最大的成功.他问我以前是否有过任何经历; 我说是的,尤其是在PHP中,并且开玩笑地评论说我可以在几行PHP中编写一些将二进制文件转换为denary的东西,而Java应用程序正迅速发展成几个代码屏幕.
他回答说,"PHP不是一种真正的编程语言!"......!经过一番讨论,他给出了上述三个原因.但是,我指出你可以在任何运行Apache的平台上运行PHP,但我不认为他真的知道Apache是什么,并且没有那个!
由于没有有意义的条款的辩论毫无意义,我想我会指出房间里的大象并问:究竟什么语言"面向对象"?我不是在寻找这里的教科书答案,而是根据你在你的领域中运作良好的OO语言的经验,无论它是什么.
一个可能有助于首先回答的相关问题是:面向对象语言的原型是什么?为什么?
我花时间在高级语言上突然想到我不知道Char数组和字符串之间的区别.我认为它们是相同的但不确定.有区别吗?它只是一个带有抽象的Char数组吗?
此代码用于哈密顿循环我无法解决此错误:
In function ‘hamCycle’:
error: ‘new’ undeclared (first use in this function)
int *path = new int [V];
^
note: each undeclared identifier is reported only once for each function it appears in
error: expected ‘,’ or ‘;’ before ‘int’
int *path = new int [V];
^
Run Code Online (Sandbox Code Playgroud)
哈密顿循环代码是:
/*
* C Program to Find Hamiltonian Cycle
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define V 5
void printSolution(int path[]);
/*
* check if the vertex v can be added at …Run Code Online (Sandbox Code Playgroud)