良い一日、
私は素晴らしい文字列ライブラリを持っていますが、必要な多くの機能がありません。機能を追加するために拡張したいと考えています。String ライブラリ "WString.h" のコードは、このリンクにあります。
https://github.com/arduino/Arduino/blob/master/hardware/arduino/cores/arduino/WString.h
新しい関数を書きたかったのですが、ライブラリの一部であるため WString.h を変更したくありません。したがって、私は次のようなものを書きました:
class StringW: public String{
public:
StringW();
};
ただし、これを行うと:
StringW myString="asd";
エラーが発生します:
Error 1 conversion from 'const char [4]' to non-scalar type 'StringW' requested
これが発生する理由を知ることができますか? 私の C++ の知識はまだかなり不安定です。子クラスは、= 演算子のオーバーロードを含む、親クラスの関数を自動的に継承するべきではありませんか? 子クラスの String クラスに、コンストラクターの一部として親クラスの = 演算子が表示されるようにするにはどうすればよいですか?!