私は変数(リンゴ)を含むクラスを持っています。どのように私はクラスを設定することができますので、デフォルトで戻り値の型(const char *)、任意の提案をしてください?どのようにC++でクラスのデフォルトの型を返すか
-4
A
答えて
0
オーバーロードされたメンバーoperator const char*
が必要なユーザー定義の変換が必要な場合があります。
operator const char *() const { return apple; }
次にあなたができる:
myClass a;
const char *c = a; //c becomes a->apple
をしかし、問題は、正確な意図で非常に明確ではありません。これは、あなたが求めて何であれば
+1
ああ、私はこれが大好きですが、これは間違いなく彼が求めていることではありません... – Nick
0
100%わからない:
すべてのコードの最初が間違っている、Java
のように見えます。 :あなたは、これはchar *
で行うことはできませんが、あなたはstd::string
を使用している場合、あなたはこのようにそれを行う可能性があります
:
public
後の使用コンストラクタ
class myClass {
public:
myClass() : apple("Apple"){}
myClass(const char *apple) : apple(apple){}
// please note I changed it to be `const`,
// to avoid use of `strcpy()` or similar.
const char *apple;
}
int main() {
myClass c;
printf("%s\r\n", c.apple);
}
使用「インライン」指定子を必要としますあなたのクラスをプリントアウトする
class myClass {
public:
myClass(const char *apple) : apple(apple){}
// no need to be `const`...
std::string apple = "Apple";
}
int main() {
myClass c;
printf("%s\r\n", c.apple.c_str());
}
3
非常に良く解決策は以下のとおりです。
class Apple {
public:
const char* apple;
};
ostream& operator<<(ostream& stream, const Apple& apple) {
return stream << apple.apple;
};
int main() {
Apple a;
a.apple = "Hello world";
cout << a << endl;
return 0;
}
関連する問題
- 1. どのようにC++標準がC++コンパイラのデフォルトですか?
- 2. データベースのデータ型はどのようにDataColumnクラスに返されますか?
- 3. ハスケル型クラスではどのように型を使うべきですか?
- 4. Pythonクラスのデフォルトの型を設定するにはどうすればよいですか?
- 5. どのようにSQLにLINQを使用してC#の方法から匿名型を返すように
- 6. myCustomDictionary.Valuesはどのような型を返すべきですか?
- 7. C#:別のスレッドのif文の型を返す関数をどのように呼び出すのですか?
- 8. どのように多型関係の型を返しますか?
- 9. C++コンパイラはどのようにデフォルトのコピーコンストラクタを合成するのですか
- 10. 属性のデフォルト値を返すにはどうすればよいですか?
- 11. C++ - クラス型のコンストラクタは左辺値を返しますか?
- 12. 基本クラスのメソッドを通じて汎用型を返すにはどうすればよいですか?
- 13. C#クラスはJSONのドル記号をどのように扱うのですか?
- 14. C++でクラスのオブジェクトのStringを返すにはどうすればよいですか?
- 15. C#ではどのような型が整数リテラルですか?
- 16. C++で基本クラスの型を取得するにはどうすればよいですか?
- 17. C++同じクラスのメソッドのオブジェクトの型を返す
- 18. ノード型の値を返すにはどうすればよいですか?
- 19. Python:メソッドMはクラスCのプロパティです。それをCの中でどのように使うのですか?
- 20. C++での型変換をどのようにしてenum型にコンパイルできないのですか?
- 21. objective-c xmlcharデータ型はどのように動作するか
- 22. 列挙型ではなく、列挙型クラスをいつどのように使うべきですか?
- 23. VS2010/C#:IDEのコンボボックスのデフォルト値をどのように設定しますか?
- 24. Cはどのように構造体を返しますか?
- 25. C++はデフォルトでどのように配列を出力しますか?
- 26. emacsの "C-x z"のように、どのようにコマンドをVimで繰り返すのですか?
- 27. グローバルにどのようにCGataViewはCDataColumnのデフォルトの型として "raw"を使用するのですか?
- 28. はどのように以下のコードObjective Cのクラスから
- 29. クラスの作成時に、フィールドのデフォルト値を何かにするにはどうすればよいですか?
- 30. jQuery:テーブルショートメソッド - どのようにデフォルトにするのですか?
返品の種類は何ですか?それ以外に、これは私が信じる有効なC++構文ではありません。 – tobspr
クラスに_default type_のようなものはありません。 [型変換演算子](http://en.cppreference.com/w/cpp/language/cast_operator)のオーバーロードを意味しましたか? –
もう1つのオプションは、ストリーム出力を使用し、 '<<'演算子をオーバーライドすることです。 –