1.javaä¹ç¶ï¼
2.C++ç¼è¯å¨
3.C++中的源码virtual关键字是什么?怎么用?
javaä¹ç¶ï¼
åªäºåæ家æ¯å æ¿å¤§äºº
æ马æ¯Â·é¿å°ç¦Â·ç±è¿ªçï¼ThomasAlvaEdisonï¼å¹´2ææ¥âå¹´ææ¥ï¼ï¼åºçäºç¾å½ä¿äº¥ä¿å·ç±³å °éï¼éä¸äºç¾å½æ°æ³½è¥¿å·è¥¿å¥¥å °æ²»ãåæ家ãä¼ä¸å®¶ã
èä¸ï¼åæ家å½ç±ï¼ç¾å½äººå æ¿å¤§äººèæ ¼å °äººä¸ºä»ä¹åºåï¼å½åäºåæäºç¬¬ä¸é¨å®ç¨çµè¯ãç¶èï¼ä»è®¤ä¸ºä»æèåçåææ¯å¯¹ä»ä½ä¸ºä¸åç§å¦å®¶ççå®å·¥ä½çä¾µç¯ï¼å¹¶æç»å¨ä»çç 究ä¸ä½¿ç¨çµè¯ã
å æ¿å¤§åæ家费森ç»ãå¹´ææ¥ï¼è´¹æ£®ç»å¨é©¬è¨è¯¸å¡å·çå¸å °ç¹ç½å éçå½å®¶çµå¨å ¬å¸ç±³é«çæ 线çµå¡ä¸è¿è¡äºä¸æ¬¡å¹¿æã广æçèç®æ主è¦çå°±æ¯è¯»ãå£ç»ãæå ³ä¸»è¶ç¨£åºç£éççæ äºã
å¹´è´å°ç§»æ°å°å æ¿å¤§ï¼ä¸å¹´åå°ç¾å½ãå¹´å å ¥ç¾å½å½ç±ãå æ¿å¤§è´å°ç主è¦æå°±æ¯åæäºçµè¯ãå¹´1æ1æ¥ï¼AT&Tï¼ç¾å½çµè¯çµæ¥å ¬å¸ï¼ä¸WesternElectricå ¬å¸çå·¥ç¨ç 究å¼åé¨å并ï¼æç«äºè´å°å®éªå®¤ã
äºåå±±å¤§Â·æ ¼é·åå§Â·è´å°ï¼-ï¼ç¾å½(è±å½è£)åæ家åä¼ä¸å®¶ãä»åæäºä¸çä¸ç¬¬ä¸å°å¯ç¨ççµè¯æºï¼å建äºè´å°çµè¯å ¬å¸ã被ä¸çèªä¸ºâçµè¯ä¹ç¶âãè´å°å¹´3æ3æ¥åºçå¨è±å½èæ ¼å °çç±ä¸å ¡ï¼å¹¶å¨é£éæ¥ååçæè²ã
äºåå±±å¤§Â·æ ¼ææ±å§Â·è´å°äºåå±±å¤§Â·æ ¼ææ±å§Â·è´å°ï¼è±è¯ï¼AlexanderGrahamBellï¼å¹´3æ3æ¥ï¼å¹´8æ2æ¥ï¼ï¼å æ¿å¤§åæ家åä¼ä¸å®¶ã
javaæ¯åªä¸ªå ¬å¸ç?è°å¼åç?
1ãjavaæ¯sunå ¬å¸çï¼å被ç²éª¨æ以ç°éæ¶è´Sun微系ç»å ¬å¸ãç²éª¨æå ¬å¸ï¼å ¨ç§°ç²éª¨æè¡ä»½æéå ¬å¸(ç²éª¨æ软件系ç»æéå ¬å¸)ï¼æ¯å ¨çæ大çä¼ä¸çº§è½¯ä»¶å ¬å¸ï¼æ»é¨ä½äºç¾å½å å©ç¦å°¼äºå·ç红æ¨æ»©ãå¹´æ£å¼è¿å ¥ä¸å½å¸åºã
2ãjavaæ¯ä¸ç§å¯ä»¥æ°å跨平å°åºç¨è½¯ä»¶çé¢å对象çç¨åºè®¾è®¡è¯è¨ï¼æ¯ç±SunMicrosystemså ¬å¸äºå¹´5ææ¨åºçJavaç¨åºè®¾è®¡è¯è¨åJavaå¹³å°ï¼å³JavaEE(j2ee)ï¼JavaME(j2me)ï¼JavaSE(j2se)ï¼çæ»ç§°ã
3ã詹å§æ¯Â·é«æ¯æï¼å¹´5ææ¥åºçäºå æ¿å¤§ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸ï¼ä¸è¬å ¬è®¤ä»ä¸ºâJavaä¹ç¶âãå¹´è·å¾äºå æ¿å¤§å¡å°å é大å¦è®¡ç®æºç§å¦å¦å£«å¦ä½ï¼å¹´è·å¾äºç¾å½å¡å åºæ¢ é大å¦è®¡ç®æºç§å¦å士å¦ä½ã
4ãjavaæ¯sunå ¬å¸å¼åçï¼äºå¹´5ææ¨åºçãå¹´ææ¥ï¼ç²éª¨æ亿ç¾å æ¶è´Sunãåå¾javaççæã
5ã交äºæä½å¼åäºä¸ä¸ªOakï¼ä¸ç§æ©¡æ çååï¼è½¯ä»¶ï¼ä»æ¯Javaçå身ã
javaä¹ç¶ä¸ºä»ä¹ä»è°·æ离èâä»è¡¨ç¤ºï¼å¨æ¶è´Sunçæ©æé¶æ®µï¼ç²éª¨æ就表示åºè¦åè°·æå±å¼æ³å¾äº¤éçææ¿ãä»æ¬äººä¹æ¾æ¹è¯Androidå¸åºä¸çç¢çåç°è±¡å¤ªè¿ä¸¥éï¼è¶³ä»¥å½±å软件å¼åè çå·¥ä½ã
为ä»ä¹è¿ä¹è®²ï¼javaä¸æ¯è°·æçãä½æ¥æå¼ã
詹å§æ¯Â·é«æ¯æã詹å§æ¯Â·é«æ¯æï¼JamesGoslingï¼æ¯ä¸å软件ä¸å®¶ï¼å¹´5ææ¥åºçäºå æ¿å¤§ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸ï¼ä¸è¬å ¬è®¤ä»ä¸ºâJavaä¹ç¶âã
Javaè¯è¨å ·æé¢å对象ã跨平å°ãå®å ¨æ§ãå¤çº¿ç¨çç¹ç¹ï¼è¿ä½¿å¾javaæ为许å¤åºç¨ç³»ç»ççæ³å¼åè¯è¨ã
å¹´5ææ¥åºçäºå æ¿å¤§ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸ï¼ä¸è¬å ¬è®¤ä»ä¸ºâJavaä¹ç¶âãå¹´è·å¾äºå æ¿å¤§å¡å°å é大å¦è®¡ç®æºç§å¦å¦å£«å¦ä½ï¼å¹´è·å¾äºç¾å½å¡å åºæ¢ é大å¦è®¡ç®æºç§å¦å士å¦ä½ã
ç¾åä¹ä¹åä¹çå¤§äº§å ¬å¸é½å¨ä½¿ç¨å®ææ¢æçç¼ç¨è¯è¨ä»æªè¢«è¶ è¶?_ç¾åº¦...1ãJavaä¹ç¶JamesGoslingæJava说ææ¯èé¢çç¼ç¨è¯è¨ï¼æææ¯è¯´ï¼Javaæ¯å¸®å©å¼åè å®æä»»å¡çä¸ä¸ªå©å¨ãå¨è¿æ¹é¢ï¼Javaæ çæ¯æåçï¼èè¿ä¸å离ä¸å¼å ¶èªèº«æå ·æçä¼å¿ï¼ç®åæ§æ¯c++è¯æ³ç纯åçã
2ãjavaæ¹é¢ï¼ç°å¨å½å¤å ä¹ææ大å¦ç计ç®æºææé½éç¨javaï¼èä¸ï¼jvmå ·æé常强大ç跨平å°æ§ï¼å¯ç§»æ¤æ§é«ï¼ä½ä¸ºå¼æºå·¨å¤´ââsunå ¬å¸æå¼ååºçè¯è¨ï¼æçé常大çæ½åï¼æ¯ä¸ç§ç°å¸¸æµè¡çè¯è¨ã
3ãJavaç¼ç¨è¯è¨å¨æ°æ®ééãæ°æ®æ¸ æ´ãæ°æ®åå¨åæ°æ®æ¥è¯¢é½æé常åºè²ç表ç°ï¼ä¸æ¤åæ¶ç±äºJavaåæ¬å¨å½å äºèç½é¢åçå¸åºä»½é¢è¾å¤§ï¼å¾å¤ä¼ä¸åºç¨çè¿ä»£å级ä¹æ¯åºäºåæçJavaç³»ç»ä¹ä¸ã
4ãCå¯ä»¥åæä½ç³»ç»ï¼C#å¯ä»¥åæ´å¤æçåºç¨ç¨åºã
Eclipseè¿è¯æ¯ä»ä¹ææ?为ä»ä¹è¦åå为è¿ä¸ªåå?Sunä¹ç¶æ¯è°?javaæ¯ç±sunå¼åçï¼IBMæ³è¦å代sunæ为javaè¯è¨ç主宰ï¼eclipseæ¯æ¥èå°±æ¯è¦é®è½sunçå è.Eclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ã
å ¶å®è¿ä¸ªåï¼è¯´èµ·æ¥ä¹è¿æ¯æç¹æ¸æºçãæ软件ç人大æ¦é½ç¥éç°å¨è½¯ä»¶è¡ä¸å大çæ3巨头ï¼å¾®è½¯ãIBMãåSUNå ¬å¸ã
ä¹å¯ä»¥æ¯æC++ãå¦æä½ æ¯é®eclipseè±æåè¯æ¯ä»ä¹ææï¼å¯ä»¥åèå¦ä¸ï¼å¤©ä½çé¨åæå ¨é¨åå ¶å®å¤©ä½çé®æ©èåå¾æ¦æâï¼æ们å¯ä»¥å°å ¶å¼ç³ä¸ºâ使黯ç¶å¤±è²âãæ¯å¦åçæ¥é£å«åsolareclipseï¼æé£å«ålunareclipseã
Eclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ã
C++ç¼è¯å¨
.5
âBorland C/C++ 5.5.1 for Winâæ¯Borlandå ¬å¸å¨å¹´å è´¹æ¾åºçä¸ä¸ªC/C++ç¼è¯å¨ï¼å ¶åè½å®æ´ãå å«å¤ç§SDKï¼ä¸å®¹éæå°ï¼å®è£ çæ¬å¤§å°ä» 8MBãBorlandå ¬å¸çæè°çº§äº§åâC++ Builder 5âå ç½®çå°±æ¯è¿ä¸ç¼è¯å¨ã
2.Dev-C++ 5.0
æ¯Bloodshedè½¯ä»¶å ¬å¸äºå¹´9ææ¥æ¨åºçä¸ä¸ªåºäºMingW(å³GNU C/C++çWinç)çå¾®åC/C++å¼åå·¥å ·ãç±äºä½¿ç¨äºGNU C/C+å æ ¸ï¼æ以å¨å软件移æ¤æ¶é常çæ¹ä¾¿ï¼ä½ å¯ä»¥æ¹ä¾¿çå°ä¸ä¸ªç¨åºç§»æ¤å°ä»»æä¸ä¸ªæGNU C/C++çå¹³å°ãèä¸ç±äºåºäºGNU C/C++çå¼æ¾æºä»£ç 软件å¾å¤ï¼æ以使ç¨Dev-C++æ¯ä¸ä¸ªå¾å¥½çéæ©ãä½ç±äºå®çè°è¯ä¸ä¾¿ï¼å¸®å©ä¸å ¨çé®é¢ï¼ä¹ä½¿å¾å®å¨æ¨å¹¿ä¸ä¸¾æ¥è°é¾ï¼è¿æ¯ä¸ä¸Borland C/C++ãOpenWatcom C/C++è¿ä¸¤ä¸ªåæ¯å è´¹çç¼è¯å¨ã
3.DJGPP
DJGPPæ¯åºäºä½ä¿æ¤æ¨¡å¼çCè¯è¨ç¼è¯å¨ï¼æ¯ä¸ä¸ªGNU软件ï¼æ¢å¥è¯è¯´ï¼ä½ å¯ä»¥å¾å°å®æ´ä¸ªç³»ç»çæºä»£ç ï¼ä¸å¯ä»¥ä»»æä¿®æ¹ãå®çéæç¯å¢RHIDEæ¯ä»¿Borland C++ 3.1çï¼åå好ç¨ï¼è¿æ¯Watcom Cè¦å¼ºå¤äºã
4.LCC-Win
è¿è¡äºWindows9x/Me/NT/ä¸çå è´¹çä½Cè¯è¨ç¼è¯ç³»ç»ãå®çåå§åå¸æ件åªæ 3Mï¼ä½å´æ¥æä¸ä¸ªåè½å¼ºå¤§çéæå¼åç¯å¢(IDE)ãé度æå¿«çç¼è¯å¨ä¸è¿æ¥å¨ãæ¹ä¾¿é¡ºæçè°è¯å¨ãèµæºç¼è¾å¨åçæ¬æ§å¶ç³»ç»ãå¦å¤è¿æä¾å¾åç¼è¾å¨å C è¯è¨æºæä»¶æ ¼å¼å缩è¿å¨çéå å·¥å ·ãéè¿å®çåºç¨ç¨åºå导ï¼ä½ å¯ä»¥åå»å æ¬¡é¼ æ è½»æ¾å¾å°ä¸ä¸ªåºç¨ç¨åºæ¡æ¶ï¼ä¸æ¯«ä¸æ¯å ¶å®åºå¤§çå类软件éè²ã ä½ å¯ä»¥ç¨LCC-Winå¼åä½çæ§å¶å°ç¨åºãWindows常è§ç¨åºãå¨æè¿æ¥åº(DLL) 以åéæè¿æ¥åº(LIB)ãLCCç¼è¯å¨æ¯ææ åçANSI Cï¼åæ¶æ¯æ Cè¯è¨çæ©å±ãéè¿ä¸è½½ç¸å ³å·¥å ·ï¼LCC-Winè¿æä¾å¯¹EiffelãFortranè¯è¨çæ¯æã
5.OpenWatcomï¼Watcomç³»ç»ç¼è¯å¨æ¯å æ¿å¤§Watcomå ¬å¸å¼åçIntel xä½ç³»/ä½ç¼è¯å¨ï¼å ¶ææ°çæ¯.0cã
Watcom C/C++çéæå¼åç¯å¢æå·®ï¼ä¸åBorland C/C++åVisual C/C++é£æ ·ææ¼äº®ççé¢ï¼ç¼è¯è¿ç»ä¸è¿è½»è½»ä¸ç¹ãWatcom C/C++ç大é¨å使ç¨è é½å¨å½ä»¤è¡ä¸ç¼è¯ç¨åºãæ³æ³å§ï¼ä¸ä¸ªéè¦å¨å½ä»¤è¡ä¸ç¼è¯ç¨åºçç¼è¯å¨ï¼æä¹å¹æBorland C/C++åVisual C/C++ï¼çè³æ¯C++ Builderå¢ï¼
å½ç¶ï¼ç¼è¯å¨ç好å并ä¸è½ååä»ä½¿ç¨æ¹ä¾¿ä½¿ç¨ä¸æ¥æ¯è¾ï¼ä¸ä¸çç¨åºåæå ³å¿çæ¯ç®æ ç¨åºçè´¨éãWatcomç³»åç¼è¯å¨ç¸æ¯Borlandç¼è¯å¨åMicrosoftç¼è¯å¨æä¸ä¸ªæ大çä¼å¿ï¼é£ä¾¿æ¯é度ï¼ç¨Watcom C/C++ç¼è¯åºæ¥çç¨åºå¨é度ä¸è¿è¿è¶ è¶(è®°ä½ï¼ä¸æ¯ä¸ç¹å¿ï¼æ¯è¶ è¶äºè®¸å¤)äºBorland C/C++åMicrosoft Visual C/C++ç¼è¯åºæ¥çç¨åºãè¿æ ·ä¸æ¥ï¼å³ä½¿æ¯æ²¡æéæå¼åç¯å¢ï¼ç¨åºå们ä¹è®¤äºãè¿ä¹æ¯ä¸å°æ¸¸æç¨åºå亲æ§äºè¿ä¸ªç¼è¯å¨çåå ã
ç°å¨æ们æç¨å°çOpenWatcom C/C++ 1.0便æ¯Watcom C/C++ .0cå¼æ¾åççæ¬ï¼å®æ¯å è´¹ãèä¸å¼æ¾æºç çã
6.å½ç¶è¿ææ们ç»å¸¸çè§çTC2.0 TC3.0 Borland C++3.1 ç
åèèµæï¼
éè¦ä»è´¹çç¼è¯å¨(æäºå 许æè¯ä¼°æçå è´¹ä¸è½½)ï¼
Borland C++
Comeau C++ - æ¯æå¤å¹³å°
Compaq C++
Digital Mars C++
Edison Design Group C++ Front End - 被许å¤C++ç¼è¯å¨ååéç¨
Green Hills C++ - æ¯æåµå ¥å¼ç³»ç»å¹³å°
HP C++
IBM C++
Intel C++ - æ¯æWindows, Linux, åå ¶ä»åµå ¥å¼ç³»ç»
Interstron C++
Metrowerks C++ - æ¯æå¤å¹³å°ï¼å¯ä»Metrowerks主页ä¸æ¥è¯¢
Mentor Graphics/Microtec Research C++ - æ¯æåµå ¥å¼ç³»ç»å¹³å°
Microsoft C++
Paradigm C++ - æ¯æxåµå ¥å¼ç³»ç»
The Portland Group C++ - é对å¥è ¾CPUä¼å
SGI C++ - ä¼åçç¼è¯å¨
Sun C++
WindRiver's Diab C++ - ç¨äºå¾å¤åµå ¥å¼ç³»ç»
C++中的virtual关键字是什么?怎么用?
virtual是定义C++中虚函数的关键字 。1、源码virtual关键字的源码作用:
c++中的函数调用默认不适用动态绑定。要触发动态绑定,源码odoo14 源码安装必须满足两个条件:第一,源码指定为虚函数;第二,源码通过基类类型的源码引用或指针调用。由此可见,源码virtual主要功能是源码实现动态绑定。
2、源码virtual关键字的源码arla奶粉溯源码使用情况:
virtual可用来定义类函数和应用到虚继承。
友元函数 构造函数 static静态函数 不能用virtual关键字修饰;
普通成员函数 和析构函数 可以用virtual关键字修饰。源码
3、源码virtual关键字的源码效果:
class GrandFather //祖父类
{
public:
GrandFather() { } //构造函数
virtual void fun() //虚函数声明定义
{
cout << "GrandFather call function!" << endl;
}
};
class Father : public GrandFather//父类,公有继承祖父类
{
public:
Father() { } //构造函数
void fun() //fun函数声明定义
{
cout << "Father call function!" << endl;
}
};
class Son : public Father //子类,源码公有继承父类
{
public:
Son() { } //构造函数
void fun() //fun函数声明定义
{
cout << "Son call function!" << endl;
}
};
void print(GrandFather* father) //输出函数 ,图书 jsp 源码天空祖父类形参
{
father->fun(); //调用fun函数
}
int _tmain(int argc, _TCHAR* argv[])
{
Father * pfather = new Son;//建立一个父类的指针让它指向子类
pfather->fun();
GrandFather * pgfather = new Father;
print(pgfather); //祖父类指针变量
return 0; }
4、virtual的继承性:
只要基函数定义了virtual,继承类的该函数也就具有virtual属性;即 GrandFather, Father ,Son同时定义virtual void fun()与GrandFather一个定义virtual void fun效果是网络验证窗口源码一样的。
扩展资料
vitual关键字的用途:
1、vitual基类
在多重继承中,从派生类到基类存在多条路线时(多个继承脉络或者途径),一个这种派生类的对象实例化将包含多个基类对象,浪费资源且调用混乱的雪花飘落源码之家现象出现。
因此引入了vitual baseclass,来在运行阶段克服多个基类对象的产生。这个vitual是在运行阶段保证对象唯一性的。
2.vitual函数
虚函数的出现,是由于基类的指针可以执行派生类,因此引出了不便,引入vitual函数,来告诉编译器,出现这种情况时,在运行时动态链接进行处理。
3.vitual在纯虚函数中使用
纯虚函数完全是为了继承体系的完整,也是集成vitual函数的作用而产生的。代表了编译器阶段对象的绑定,将调用选择转移到运行时动态绑定。
综上:vitual关键的引入,可以理解为阻止编译阶段的静态绑定,将绑定(虚函数)和约束工作(虚基类)转移到运行时动态处理。
参考资料:
百度百科——virtual