私はYouTubeチュートリアルに従いましたが、基本クラスを作成できますが、このチュートリアルではClass :: Classがどのように機能するのか説明していません。私はgoogleを検索しますが、単項演算子と呼ばれます私はクラスについて何をしているのか分からないのですが、これについて説明してくれてありがとうと助けてください。あなたのクラスでC++単項演算子はクラスの意味で何を使用しますか?
#include <iostream>
#include <string>
//Class
class Mother {
public:
void msg();
};
void Mother::msg(){ //This is where i don't undrstand
std::cout << "Go home early sweetie" << std::endl;
}
class Daughter: public Mother {
public:
void getMsg();
};
void Daughter::getMsg(){ //Same as this
std::cout << "Mom said ";
msg();
}
//Main
int main() {
Daughter lucy;
lucy.getMsg();
return 0;
}
コードに単項演算子が表示されませんが、 'Mother :: msg'と' Daughter :: getMsg'の関数の前でクラス名を尋ねると、関数が定義されていることに注意してくださいクラス宣言の外側。したがって、メンバー関数を定義する場合、クラスの名前を指定する必要があります。そうでない場合、関数はグローバルになります。これはあなたが求めていることですか?なぜ「Mother ::」がそこにあるのですか?または、コンストラクタについて質問していますか? –
はい@カールステン、私は関数の前でクラス名について質問しています – ShadowLegend
また、どういう意味ですか? 'Class :: Class:var {...}'は、変数がクラスの中で定義されていることを意味しますか?あなたが言ったことと同じ概念ですか? – ShadowLegend