在C+中公开私有函数+; 我正在学习我的第一个编程语言C++,我在公开一个私有函数方面有问题。你们能帮我找到问题吗 #include <iostream> #include <string> using namespace std; class JadClass { public: void setName(string x) { name = x; } string getName() { return name; } private: string name; }; int main() { JadClass jc; jc.setName = "Jad Charara w\n"; cout << jc.getName(); system("pause"); return 0; } #包括 #包括 使用名称空间std; 类JadClass { 公众: void setName(字符串x) { name=x; } 字符串getName() { 返回名称; } 私人: 字符串名; }; int main() { JadClass jc; jc.setName=“Jad Charara w\n”; 不能

在C+中公开私有函数+; 我正在学习我的第一个编程语言C++,我在公开一个私有函数方面有问题。你们能帮我找到问题吗 #include <iostream> #include <string> using namespace std; class JadClass { public: void setName(string x) { name = x; } string getName() { return name; } private: string name; }; int main() { JadClass jc; jc.setName = "Jad Charara w\n"; cout << jc.getName(); system("pause"); return 0; } #包括 #包括 使用名称空间std; 类JadClass { 公众: void setName(字符串x) { name=x; } 字符串getName() { 返回名称; } 私人: 字符串名; }; int main() { JadClass jc; jc.setName=“Jad Charara w\n”; 不能,c++,C++,而不是 jc.setName = "Jad Charara w\n"; 写 首先,您已经使用公共访问说明符在类JadClass中定义了2个函数,因此请确认要将哪个函数的访问说明符从private更改为public 主要的第二件事是您试图调用setName函数。 jc.setName=“Jad Charara w\n” 上面的函数调用应该是jc.setName(“Jad Charara w\n”);格式。好吧,当你向我展示私有函数时,我会尽力帮助你。setName是一个方法,而不是属性。调用js

而不是

jc.setName = "Jad Charara w\n";


首先,您已经使用公共访问说明符在类JadClass中定义了2个函数,因此请确认要将哪个函数的访问说明符从private更改为public

主要的第二件事是您试图调用setName函数。 jc.setName=“Jad Charara w\n”


上面的函数调用应该是jc.setName(“Jad Charara w\n”);格式。

好吧,当你向我展示私有函数时,我会尽力帮助你。
setName
是一个方法,而不是属性。调用
js.setName(“Jad Charara w\n”)
而不是赋值。作为旁注,写
void setName(const string&x)…
最好是。@πνταῥεῖ, 我想他已经有足够的麻烦了,不用担心一点内存节省。@Josh这就是为什么它被标记为“旁注”:P。。。
jc.setName("Jad Charara w\n");