VS2015建立一個完整的c++工程:標頭檔案.h 原始檔.cpp,自動生成類
阿新 • • 發佈:2019-01-07
開啟VS2015 ,新建VS win32工程,前面步驟很簡單,不再闡述
下面直接開始:
新建一個VC++ win32的程式,
在原始檔加下新增.cpp檔案,一般放main函式
#include <iostream>
#include <locale>
#include "human.h"
using namespace std;
int main()
{
Human Tom;
Tom.A(160);
people zhangsan;
zhangsan.B(160);
//cout<<Tom.printf();
}
在標頭檔案中新增.h檔案(human.h),一般是定義的類
class Human
{
public:
void A(int w);
private:
int *i;
};
class people
{
public:
void B(int j);
int num;
private:
int numa;
};
標頭檔案中的.cpp檔案放類的建構函式
#include "human.cpp" #include <iostream> #include "human.h" using namespace std; void Human::A(int w) { cout << w << endl; } void people::B(int w) { w -= 100; cout << w << endl; }
然後在原始檔下的main函式的要加上類的宣告標頭檔案,標頭檔案.cpp也要新增類宣告的標頭檔案
i
注意:標頭檔案中定義的類,在與之同名的c檔案中要做宣告,類的建構函式和解構函式要麼顯示定義,也要顯示的宣告,哪怕這些函式裡面沒有執行的內容,空的也要寫出來,否則會編譯通不過,要麼類的建構函式和解構函式都不寫,類預設產生不執行任何程式的建構函式和解構函式
反正一條:對於類裡面的解構函式和建構函式只要定義了,必須要宣告,函式為空也可以
下面補充一下在VS裡面多檔案系統(即有多個頭檔案和cpp檔案),使用VS來自動生成類,
1、專案右擊->新增->類
輸入類名後,h檔案和cpp檔案自動填充好,而且生成的類的建構函式、解構函式、包含標頭檔案全都有了
如下圖:
生成的程式碼:
h檔案
#pragma once
class Clock
{
public:
Clock();
~Clock();
};
cpp檔案
#include "Clock.h"
Clock::Clock()
{
}
Clock::~Clock()
{
}
上面都是空的,下面在裡面填上我們的函式
2、在類裡面放上我們的函式
h檔案新增函式後
#pragma once
#include <iostream>
using namespace std;
class Clock
{
public:
Clock();
void SetTime(int NewH, int NewM, int NewS); //三個形參均具有函式原型作用域
void ShowTime();
~Clock();
private:
int Hour, Minute, Second;
};
cpp檔案新增函式後:
#include "Clock.h"
Clock::Clock()
{
Hour = 0;
Minute = 0;
Second = 0;
}
void Clock::SetTime(int NewH, int NewM, int NewS)
{
Hour = NewH;
Minute = NewM;
Second = NewS;
}
void Clock::ShowTime()
{
cout << Hour << ":" << Minute << ":" << Second << endl;
}
Clock::~Clock()
{
}
3、在main裡面新增我們的類包含標頭檔案
#include "Clock.h" //標頭檔案
Clock g_Clock;
int main() //主函式
{
cout << "檔案作用域的時鐘類物件:" << endl;
//引用具有檔案作用域的物件:
g_Clock.ShowTime();
g_Clock.SetTime(10, 20, 30);
Clock myClock(g_Clock); //宣告具有塊作用域的物件myClock,並通過預設拷貝建構函式用g_Clock初始化myClock
cout << "塊作用域的時鐘類物件:" << endl;
myClock.ShowTime(); //引用具有塊作用域的物件
return 0;
}
執行結果:
over!!!