c++ - 如何从成员函数返回私有(private)字符数组?

标签 c++

如何将成员函数中的私有(private)字符“n”返回到主函数?

#include <iostream>
using namespace std;
class TEST
{
    char n[10];
public:
    char getname()
    {
        cout<<"what's your name?:";
        cin.getline(n,10);
        return n;
    }
};
int main()
{   char name[10];
    TEST obj;
    name[10]=obj.getname();
    cout<<"Name :"<<name;
}

最佳答案

私有(private)或公共(public)并不重要。您的问题是返回 char 而不是 char*

我建议您使用字符串而不是字符数组。

#include <iostream>
using namespace std;
class TEST
{
    char n[10];
public:
    char* getname()
    {
        cout<<"what's your name?:";
        cin.getline(n,10);
        return n;
    }
};
int main()
{   
    char* name;
    TEST obj;
    name = obj.getname();
    cout<<"Name :"<<name;
}

关于c++ - 如何从成员函数返回私有(private)字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38920197/

相关文章:

c++ - 我的 Z 缓冲区计算有什么问题?

c++ - 运算符重载 分数

c++ - 使用除法运算符时未得到预期结果

c++ - 这个移动构造函数是不必要的吗

C++ Makefile g++ 和 "std="标志似乎不起作用

c++ - 使用 C 或 C++ 编写 Linux shell

c++ - C++中如何读取txt文件中的一部分行

c++ - 如何识别 std::unordered_map 是否发生哈希冲突?

c++ - 退出应用程序时崩溃

c++ - 我应该将乘数声明为常量还是直接使用而不声明?