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