我希望在name
中获取私有字符串sampleclass
的值。
#include <iostream>
#include <string>
using namespace std;
class sampleclass {
public:
int getname(){ //this is my attempted getter
string x = name;
}
private:
string name= "lance"; //this is the private I want returned by value
};
int main(){
sampleclass object;
cout << object.getname();
}
答案 0 :(得分:4)
您需要在getname()
函数中返回一个字符串,因为您的name
变量是一个字符串
string getname() {
return name;
}
通过这样做,您将std::string
的新实例作为rvalue
结果,然后输出到主函数的屏幕。
另外一个想法,与你的问题没有关系:对于像这样的小程序全局使用命名空间没有问题,但你应该try to not get used to it,因为它可能导致更大的不同命名空间内的名称冲突项目
答案 1 :(得分:0)
#include <iostream>
#include <string>
using namespace std;
class sampleclass{
public:
sampleclass() : name("lance") { }
string getname(){ // return a string (not an int)
return name;
}
private:
string name;
};
int main(){
sampleclass object;
cout << object.getname();
}
g++ test.cpp && ./a.out
lance