#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;
}
这个4917152是怎么回事呢?
show函数没写return
你show函数没有返回值,为什么要写成int类型???
谢谢,我后来改了一下,show()加上void还是一样,有返回值
最后发现show调用的是输出,cout<也是输出,是不是重复了,
把程序改成
p->show(); //前面去掉cout
(*p).show; //前面去掉cout
这样就可以了