意味を教えてください:クラス名& メンバ関数名/クラス名 & メンバ関数名
Windowsのタスクから起動し、シリアル接続した組み込み用マイコン(PIC)に、コマンドを送るプログラムを作ろうと、勉強中です。シリアル通信ActiveXが全てのPCで使えるという状況では無いため、どうせAPIを使うなら,この機会にc++を勉強しようと考えました。当方のスキルはPIC用のCで、ちょっとした制御が出来る程度です(PCで使用しているのは主にVBAですが、毎回Excel起動では重すぎて...)。軽く・小さくしてやろうと、VC++2005Express + WIN32SDKを使っています。主にWEBで勉強させていただいておりますが、参考に海外サイトからダウンロードした、シリアル通信用クラスがさっぱり解読できず困っています。(VBやVBAでのクラスの使い方は一応知っています)。本質問のタイトル付けにも困りましたが、適当なキーワードが分からず、WEB検索もうまくいきませんでした。
1.COMPortという名前をつけたクラスのヘッダーファイルに
private:
COMPort (const COMPort &);
COMPort& operator= (const COMPort &);
とありますが、既にここから分かりません。二つの文はどういう意味なのでしょうか?
2.クラスの.cppファイルに、
//こちらは頭のCOMPortと&の間にスペース無し
COMPort& COMPort::setState ()
{
if (!SetCommState ( (HANDLE) thePortHandle, (LPDCB) theDCB))
{
throw runtime_error ("COMPort: could not modify serial port state.");
}
return *this;
}
というのとか、
//こちらは頭のCOMPortと&の間にスペースあり
COMPort & COMPort::write ( const char inChar )
{
char buffer = inChar;
DWORD charsWritten = 0;
if ( !WriteFile ( (HANDLE(thePortHandle)), &buffer, sizeof(char), &charsWritten , NULL))
{
throw runtime_error ("COMPort: write failed.");
}
return *this;
}
があって、やっている事自体はAPIを実行しているだけと思いますが、質問タイトルの”クラス名& メンバ関数名/クラス名 & メンバ関数名”という記述はどういう意味なのでしょうか?教えていただけると幸いです。
お礼
ありがとうございました。