* namedpoint.h
#ifndef namedpoint_h
#define namedpoint_h
struct namedpoint;
typedef struct namedpoint namedpoint;
namedpoint *makenamedpoint(double x, double y, char *name);
void setname(namedpoint *np, char *name);
char *getname(namedpoint *np);
#endif /* namedpoint_h */
* namedpoint.c
#include "namedpoint.h"
#include struct namedpoint ;
namedpoint *makenamedpoint(double x, double y, char *name)
void setname(namedpoint *np, char *name)
char *getname(namedpoint *np)
* point.h
#ifndef point_h
#define point_h
struct mypoint;
typedef struct mypoint mypoint;
mypoint *makepoint(double x, double y);
double distance(mypoint *p1, mypoint *p2);
#endif /* point_h */
* point.c
#include "point.h"
#include #include struct mypoint ;
mypoint *makepoint(double x, double y)
double distance(mypoint *p1, mypoint *p2)
* main.c
#include "point.h"
#include "namedpoint.h"
#include int main(int argc, const char * ar**)
* test:
origin upperright distance=1.414214
program ended with exit code: 0
main函式,這裡的namedpoint資料結構是被當作mypoint資料結構的乙個衍生體來使用的。
因為namedpoint結構體的前2個成員的順序與mypoint結構體完全一致,這樣實現單繼承。
必須強制將namedpoint的引數型別轉換為mypoint, 而在真正的物件導向程式設計語言中,這種向上轉換
通常應該是隱性的。
-------------------------- 巢狀父類 -------------------------------------
c語言實現單鏈表
一 使用簡介 使用c語言實現了單鏈表的基本操作,共有四個檔案,兩個標頭檔案是常用的,後兩個分別是主函式,和對鍊錶的基本操作函式,倒入時候,須將四個檔案放在同乙個目錄下。二 心得 在書寫過程中,主要錯誤集中在指標的使用上,通過此次程式設計,對於指標的認識更加深刻,頭結點的存在,更大意義上是為了簡化指標...
C語言實現單鏈表
單鏈表可以說是基礎,有利於對指標的使用 結點 typedef int datatype typedef struct slistnode slistnode 實現的函式的宣告如下 slistnode buynode datatype x void printslist slistnode phead...
C語言實現單鏈表
dev c 編譯執行通過,實現了單鏈表的構建,清空,插入,刪除和查詢。include include include include include define ok 1 define error 0 typedef int elemtype typedef struct node node ty...