一道c++题,有一个错误!

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:06:08
#include "iostream.h"
class p_example
{
int num;
public:
void set_num(int val)
{num=val;}
void show_num();
};
void p_example::show_num()
{cout<<num<<"\n";}

void main()
{
p_example ob,*p;//说明对象指针
ob.set_num(10);
ob.show_num;
p=&ob;
p->show_num();

}
为什么只有一个10呀,不是ob.show_num和p->show_num都将输出10吗?

class p_example
{
int num;
public:
void set_num(int val)
{num=val;}
void show_num();
};
void p_example::show_num()
{cout<<num<<"\n";}

void main()
{
p_example ob,*p;//说明对象指针
ob.set_num(10);
ob.show_num(); //这里是函数调用,应该加上括号,严格来说,这是错误,我不知道你为什么能够通过编译,
p=&ob;
p->show_num();

}