c++接觸的很少,之前也只是會編寫乙個簡單的cpp檔案,但乙個工程的實現,往往不僅包括原始檔(.cpp字尾檔案)一般還有標頭檔案(.h字尾檔案)等。乙個c++工程中只能有乙個main函式,這個函式所在的檔案類似於前端中的入口檔案,即從main函式開始執行整個工程。即有多個cpp檔案,這些檔案中也只有乙個入口檔案
說明,這裡可以使用微軟的visual studio進行編譯執行,但實際在使用的過程中,可能vs反應很慢,所以,我們可以減少vs的一些不必要的功能。比如進入 工具 -> 選項 -> 源**管理 -> 源**管理外掛程式 修改為無,另外,也可以在選項中將visual studio定期進行的更新關閉,或者其他一些沒有必要的輔助功能都是可以關閉的,以增加執行效率。標頭檔案就是.h字尾結尾的檔案。 如下所示,是乙個標頭檔案:
#ifndef __outfile_framedata_h__從這個檔案中我們可以看出標頭檔案的一些特點:#define __outfile_framedata_h__#include
"outfile.h
"class outfile_framedata : public
outfile
;#endif
而上面三個必要語句的作用就是可能會有多個cpp檔案使用這個標頭檔案(標頭檔案也有可復用的作用),如果這個標頭檔案沒有被編譯,就會進行編譯,否則,就不需要再編譯了,起了防止重複編譯的作用。
原始檔是工程中最重要的部分。 一般原始檔的開頭會引用標頭檔案,如使用#include的方式進行引用 。
如上,我們建立了乙個project工程(使用visual studio 2013)。 通過原始檔上右鍵,就可以新增原始檔,其他類似。
如下所示,這是我們建立的檔案。
circle.h源**如下所示:
#ifndef __circle_h__這個檔案中就是定義了circle這個類以及類中的私有變數和一些函式,而函式具體的語句是不需要寫的。#define __circle_h__
class
circle
;#endif
circle.cpp檔案如下所示:
#include #include這個檔案當中,我們將circle.h中未定義的函式進行了定義包括兩個建構函式以及乙個計算圓面積的函式。注意檔案頭要引入circle.**件。注意:建構函式的作用是為了初始化工作,而析構函式是為了釋放記憶體空間。一般,乙個類可以有多個建構函式,但卻只能有乙個析構函式。如果類中沒有自定義的析構函式,就會呼叫預設的析構函式完成清理工作,釋放堆中分配的記憶體。"circle.h
"circle::circle()
circle::circle(
double
r)double
circle::area()
main.cpp檔案如下:
#include #include這個檔案中,我們同樣需要引入標頭檔案 circle.h, 而不需要引入 circle.cpp,這個工程的入口檔案就是main.cpp。 注意: 檔案中 test是用於處理c++程式異常的。"circle.h
"using
namespace
std;
void test(double
a);int
main()
void test(double
a) }
catch (int
)
}
ctrl + f5可以執行整個工程,最終執行效果如下所示:
ok,這就是乙個最為基本的c++工程了。
開啟工程檔案
選擇 檔案 - 開啟 - 專案/解決方案,然後找到對應檔案的 vcxproj 字尾檔案即可在 visual studio 中開啟此工程。然後ctrl + f5即可執行。
C語言 編寫乙個日曆
題目 列印乙個月份的日曆。分析 首先列印乙個月份的日曆,要設定乙個基準年,並且要知道這一年的一月一號是週幾 求得當年的一月一號是週幾 在求得當月的第一天是週幾。define crt secure no warnings 1 include include 某個月的日曆 int months 2 13...
C 編寫乙個直譯器
一直想知道如何編寫一門指令碼語言,現在終於有機會實現了。非常感謝 thorsten ball 的大作 writing an interpreter in go 幫助我實現了這個想法!可能你比較好奇為啥這個專案叫 autumn,因為剛好這個專案是在國慶節開始的,正好是秋天,就以當時的季節命名了。c 是...
編寫乙個makefile
什麼是makefile?對於大多數的windows程式設計師來講,makefile可能不是那麼重要,因為windows的ide都為程式設計師做好了這個工作。但是在linux下程式設計,會不會寫makefile,從側面上說明乙個人是否具備完成大型工程的能力。makefile的作用 makefile是用...