(8)物件導向程式設計

2021-10-04 01:23:19 字數 1814 閱讀 8133

#!/bin/sh

set-x

source_dir=`pwd`

build_dir=$

mkdir -p $build_dir \

&& cd $build_dir \

&& cmake $source_dir \

&& make $*

//直接輸入.

/build.sh進行編譯

cmake_minimum_required(version 2.6

)project(pas cxx)

set(cxx_flags -g -wall)

set(cmake_cxx_compiler "g++"

)string(replace ";"

" " cmake_cxx_flags "$"

)set

(executable_output_path $

/bin

)add_executable(thread_test thread_test.cpp thread.cpp)

//生成的可執行程式的名稱:thread_test

target_link_libraries(thread_test pthread)

//鏈結pthread庫

#include "thread.h"

#include

#include

using namespace std;

//派生類公有繼承thread基類

//只要繼承thread抽象類,那麼不同的執行緒體就有不同的執行體,即run(

)介面//物件導向程式設計會暴露thread抽象類,而基於物件程式設計不會暴露thread抽象類

class

testthread

: public thread

~testthread(

)private:

void run(

)//成員函式run(

)可以訪問資料成員count_ }

int count_;};

int main(void)

#include "thread.h"

#include

using namespace std;

thread:

:thread(

): autodelete_(false)

thread:

:~thread(

)void thread:

:start(

)void thread:

:join(

)//因為run(

)才是執行緒要執行的執行體,所以這裡要呼叫run方法。但是不能直接呼叫,因為threadroutine是靜態成員函式,

//不能呼叫非靜態的成員函式run(

)!!!因為他沒有this指標,

//上面的this指標已經傳遞到threadroutine的入口arg

void* thread:

:threadroutine(void* arg)

void thread:

:setautodelete(

bool autodelete)

#ifndef _thread_h_

#define _thread_h_

#include

//thread抽象基類

class

thread

;#endif // _thread_h_

8 理解物件導向程式設計

4.物件導向程式設計 object oriented programming,oop object oriented design,ood 什麼是物件導向?在物件導向程式設計中有兩個重要的概念 類 class 與物件 object 5.類 類是一種抽象的概念,類中包含了資料 通常使用名詞來表示 與對...

8 物件導向

物件導向是一種程式設計思想,是對現實世界中的事物進行抽象的方式。應用到 程式設計設計中,是一種建立現實世界事物模型的方式。面向過程關注的是完成工作的步驟,物件導向關注的是誰能完成工作。物件導向是在完成工作的時候關注哪些個體能夠完成對應的工作,找到對應的個體即可完成對應任務。類是一系列事物的統稱,同類...

物件導向8

除了繼承和實現外,依賴,關聯,聚合,組成也是類之間的重要關係型別 依賴 如果在乙個類的方法中操作另外乙個類的物件,就稱其依賴於第二個類 關聯 關聯 比依賴更緊密,通常體現為乙個類中使用另乙個類的物件做為該類的成員變數 聚合 聚合關係體現的是整體與部分的關係,通常表現為乙個類 整體 由多個其他類的物件...