私はPythonから来て、C++を使い始めるつもりですが、C++のクラスパラメータにアクセスする方法を理解できないようです。私は3つのC++ファイルと同様にPythonクラスの例を添付しました。クラスメソッドのコンストラクタパラメータへのアクセス
これは、Pythonの場合:
class Greeting:
def __init__(self, name):
self.name = name
def say_name(self):
return "Hello, %s" % self.name
say_name
方法でself.name
インスタンスのparamにアクセスするためのC++と同等でしょうか?
今これは私が持っているものです。
greeting.hpp
class greeting
{
public:
greeting(std::string name);
~greeting();
std::string salutation(std::string salutation);
private:
// Nothing
};
greeting.cpp
#include "greeting.hpp"
greeting::greeting(std::string name, std::string nationality)
{
std::cout << "greeting class constructed\n";
}
greeting::~greeting()
{
}
std::string greeting::salutation(std::string salutation)
{
std::string res = salutation + ", " + name;
return res;
}
main.cppに
#include <iostream>
#include "greeting.hpp"
int main(int argc, const char * argv[]) {
greeting obj = greeting("Rashad", "American");
std::string word = "Hello";
std::cout << obj.salutation(word) << std::endl;
return 0;
}
name
パラメータのgreeting::salutation
メソッドにアクセスできないため、これは明らかに実行されません。だから誰かが私はクラスのメソッド(上記のPythonの例に似ている)でC + +のコンストラクタparamsにアクセスする方法について説明することができますか?
私はあなたが1 parametarと宣言コンストラクタを持ってXCodeの上8.おかげ.HPPで
基本的なC++を学習するのははるかに簡単で生産的です。また、PythonとC++の間に直接の同等物がないかもしれないことに注意してください。 – juanchopanza
C++では、変数(パラメータなど)と同じ名前を関数に使用するのは普通ではありません –