代码什么的要哭了 2022-04-23 20:34 采纳率: 67.9%
浏览 17
已结题

继承和派生类问题:成员函数(含指针)如何获取对象名

一个类

数据成员:

int age;

char name[20];

数据成员的访问控制权限为private。

成员函数:

int getAge();//用于获取对象的年龄

char *getName();//用于获取对象的名字

成员函数和构造函数的访问控制权限为public

**礼貌求问:这个char *getName()怎么实现获取啊,一旦加上指针变成数组就不会用了

main函数是这样的:

int main()
{
Human jessic(12,"jessic");
cout<<"the human age is "<<jessic.getAge()<<endl;
cout<<"the name is "<<jessic.getName()<<endl;
}**

如果是char *getName() {return name;},main函数就报错了

  • 写回答

1条回答 默认 最新

  • bostonAlen 2022-04-25 14:53
    关注

    改成
    const char*getName() {return name;}

    #include <iostream>
    #include <cstring>
    using namespace std;
    class Human
    {
    public:
        Human(int _age,char _name[])
        {
            age = _age;
            for(int i=0;i<strlen(_name);++i)
                name[i] = _name[i];
        }
        const char* getName(){return name;}
        int getAge(){return age;}
    private:
        int age;
        char name[20];
    };
    int main()
    {
        Human jessic(12,"jessic");
        cout<<"the human age is "<<jessic.getAge()<<endl;
        cout<<"the name is "<<jessic.getName()<<endl;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 已采纳回答 4月25日
  • 创建了问题 4月23日

悬赏问题

  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化