私はクラスの一部である文字列にアクセスしたいと思っています。たぶん私もクラスにそれらを取得することはできませんC++でクラスのオブジェクトのStringを返すにはどうすればよいですか?
#include<iostream>
#include<string>
#include<vector>
class element {
std::string Name;
int Z;
double N;
public:
element (std::string,int,double);
double M (void) {return (Z+N);}
std::string NameF() {return (Name);}
};
element::element (std::string Name, int Z, double N) {
Name=Name;
Z=Z;
N=N;
}
int main() {
element H ("Hydrogen",1,1.);
element O ("Oxygen",8,8);
std::vector<element> H2O ={H,H,O};
std::cout<<"Mass of " <<O.NameF()<<" is: " << O.M() << std::endl;
std::cout<<H2O[1].NameF()<<std::endl;
return 0;
}
私はクラスで私のオブジェクトのうち、文字列を取得することはできませんよ... : は、ここではサンプルコードです。 標準のコンストラクタは文字列のように機能しますか? 私は呼び出すことができるオブジェクトの刺すような(つまり名前)をしたいだけです。 これを行うには適切な方法はありますか?
私は、パラメータの名前としてメンバーの名前を使用する場合は、あなたがthis
ポインタを経由してメンバーにアクセスする必要がある、
歓声 ニコ
'名=名;'自体に関数パラメータを割り当て、に何もしませんメンバー。 – aschepler
メンバ変数とパラメータの間の名前の衝突です。 [Member Initiallizer List](http://en.cppreference.com/w/cpp/language/initializer_list)はここで – user4581301
または 'this-> Name = Name'を助けることができますが、実際にはパラメータまたはメンバー名を変更するだけです。 –