一、介面的定義
class iperson
;virtual ~iperson()=0 {}; //注意,最好定義此虛析構函式,夠避免子類不能正常呼叫析構函式;如果定義為純虛析構函式,則必須帶定義體,因為子類隱含呼叫該析構函式。
//提供給外面使用的介面一般採用純虛函式
virtual void setname(const string &strname)= 0;
virtual const string getname()= 0;
virtual void work()= 0;
}二、介面實現
實現介面是通過繼承介面的子類來實現的,不同的子類可以實現不同效果,即使所謂多型。
class cteacher:public iperson
;virtual ~cteacher();
string m_strname;
void setname(const string &strname);
const string getname();
void work();
}void cteacher::setname(const string &strname)
const string cteacher::getname()
void cteacher::work()
三、介面匯出
bool getipersonobject(void** _rtobject)
__declspec(dllexport) bool getipersonobject(void** _rtobject);
四、介面使用
#include "iperson.h"
#pragma comment(lib,"iperson.lib")
bool __declspec(dllimport) getipersonobject(void** _rtobject);
/* 測試例子 */
void main()
if (_ipersonobj !=null)
}【**】
C 介面定義及實現舉例
一 介面的定義 class iperson virtual iperson 0 注意,最好定義此虛析構函式,夠避免子類不能正常呼叫析構函式 如果定義為純虛析構函式,則必須帶定義體,因為子類隱含呼叫該析構函式。提供給外面使用的介面一般採用純虛函式 virtual void setname const ...
C 定義物件 物件舉例
在c 中,宣告了類型別後,定義物件有兩種形式 1 class 類名 物件名 把class和student合起來作為乙個類名,用來定義物件 class student stu1,stu2 2 類名 物件名 直接用類名定義物件 student stu1,stu2 這兩種方法是等效的,第1種方法是從c語言...
C 介面的定義與實現
1.介面的定義與實現 所謂的介面,即將內部實現細節封裝起來,外部使用者用過預留的介面可以使用介面的功能而不需要知曉內部具體細節。c 中,通過類實現物件導向的程式設計,而在基類中只給出純虛函式的宣告,然後在派生類中實現純虛函式的具體定義的方式實現介面,不同派生類實現介面的方式也不盡相同,從而實現多型。...