nberic1 2021-11-20 09:46 采纳率: 0%
浏览 8

通过指针访问对象里的成员函数,但是多输出一个数字,不知道出错在那里


#include <iostream>
using namespace std;
#include <string>
class my
{
    public:
        my(string a,int b,int c):name(a),birthday(b),age(c){};
        int show();
    private:
        string name;
        int birthday;
        int age;    
};

int my::show()
{
    cout<<"name="<<name<<" "<<"birthday="<<birthday<<"  "<<"age="<<age<<endl;
}
int main()
{
    my a("赵三",1989,32);
    
    my *p=nullptr;  //定义my类的对象指针p,并初始化为空指针 
    
    p=&a;  //让指针p指向对象a
    
    cout<<p->show()<<endl;  //通过指针访问对象a的公用成员函数show() 
    cout<<(*p).show()<<endl; //同上,功能跟上面一样 
    a.show();
    return 0;
}

img

这个4917152是怎么回事呢?

  • 写回答

3条回答 默认 最新

  • mzhan017 2021-11-20 10:02
    关注

    show函数没写return

    评论

报告相同问题?

问题事件

  • 创建了问题 11月20日