多檔案程式的編寫

2021-06-02 01:34:21 字數 2412 閱讀 2747

多檔案程式包含:

標頭檔案.h

原始檔.cpp

主函式.cpp

//宣告抽象基類shape

class shape

//虛函式

virtual float volume() const //虛函式

virtual void shapename() const=0; //純虛函式

};

//宣告類point

class point:public shape //point是shape的公用派生類

//讀x的座標

float gety() const //讀y的座標

virtual void shapename() const //對虛函式進行在定義

friend ostream &operator <<(ostream&,const point&);

protected:

float x,y; //受保護成員

};

//宣告派生類circle

class circle:public point //circle是point類的公用派生類

friend ostream &operator <<(ostream &,const circle &);//過載運算子「<<」

protected:

float radius;

};

//宣告circle的派生類cylinder

class cylinder:public circle

friend ostream& operator <<(ostream&,const cylinder &);

protected:

float height; //圓柱高

};

檔案

#includeusing namespace std;

#include"shape.h" //需要包含的標頭檔案

#include"point.h"

//下面定義point類的成員函式

point::point(float a,float b) //對x,y初始化

void point::setpoint(float a,float b) //為x,y賦新值

//過載運算子「<<」,使之能輸出點的座標

ostream & operator <<(ostream &output,const point &p)

//設定半徑值

void circle::setradius(float r)

//讀取半徑值

float circle::getradius() const

//計算圓面積

float circle::area() const

//過載運算子「<<」,使之按規定的形式輸出圓的資訊

ostream &operator <<( ostream &output,const circle &c)

//設定圓柱高

void cylinder::setheight(float h)

//讀取圓柱高

float cylinder::getheight() const

//計算圓柱表面積

float cylinder::area() const

//計算圓柱體積

float cylinder::volume() const

//過載運算子「<<」,使之能按規定形式輸出圓柱的資訊

ostream &operator <<( ostream &output,const cylinder& cy)

{ output<<"center=["#include"shape.h"

#include"point.h"

#include"circle.h"

#include"cylinder.h"

int main()

{ point point(3.2,4.5); //建立point類物件point

circle circle(2.4,1.2,5.6); //建立circle類物件circle

cylinder cylinder(3.5,6.4,5.2,10.5);//建立cylinder類物件cylinder

point.shapename(); //靜態關聯

coutcout<<"x="cout<<"x="cout<<"x="area(),pt->volume().

這時通過動態關聯分別確定呼叫哪個函式。分別輸出不同物件資訊。*/

多目錄下多檔案 makefile編寫

前面已經分享了單目錄項下多檔案的makefile的編寫,現在來看看多目錄下多檔案makefile的編寫 在做專案時,一般檔案都會分幾個目錄來存放 基本的是 include bin src obj lib tools 這幾個檔案 我先說下我的檔案存放目錄,用ls r可以檢視到所有檔案 include ...

C語言多檔案編寫詳解

目錄 只能有乙個 main.c 檔案 其餘函式分別在 func1.c func2.c func3.c 中實現 在對應的 c 檔案中呼叫 h 標頭檔案庫 include operation.h 在 operation.h 檔案中程式設計客棧宣告函式,可以當glqrfgg作乙個標頭檔案函式庫直接呼叫 記...

單目錄下多檔案 makefile編寫

makefile很久就接觸過了,但是一直沒怎麼深入的去學習和總結 在專案中我也只是看看makefile或者修改部分語句,全部自己動手寫的話還真沒有 知識在於沉澱,這句說的非常好,所以現在把自己理解的東西,記錄下來,以便後面查閱 這篇blog要分享的是在單目錄下多檔案的makefile編寫,首先說明當...