帮小弟看下c++指针访问成员函数的错误吧

telnetor 2008-09-14 01:42:16
#include<iostream.h>
class AnotherDate{
private:
int year;
int month;
int day;
public:
void setDate(int y,int m,int d){
year=y;
month=m;
day=d;
}
int isLeapYear(){
return (year%4==0&&year%100!=0)||(year%400==0);
}
void print(){
cout<<"year:"<<year<<",month:"<<month<<",day:"<<day<<endl;
}
};
void main(){
AnotherDate *date;
date->setDate(1980,3,1);
date->print();
}

编译能通过,但就是运行不起来,不知道怎么回事,希望大家帮帮我,多谢拉
...全文
93 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
telnetor 2008-09-17
  • 打赏
  • 举报
回复
sorry....由于操作失误。。没加上。。。
telnetor 2008-09-14
  • 打赏
  • 举报
回复
明天4楼加分,好像一天后才能给帖子加分的。。不好意思啊
mirsoft 2008-09-14
  • 打赏
  • 举报
回复

AnotherDate *date;

//替换成AnotherDate *date = new AnotherDate
//或者AnotherDate date;



richbirdandy 2008-09-14
  • 打赏
  • 举报
回复

AnotherDate *date; //没有产生对象实例 date是个空指针


AnotherDate *date=new AnotherDate;
telnetor 2008-09-14
  • 打赏
  • 举报
回复
谢谢,我刚从java转到c++,晕了。。
wangdeqie 2008-09-14
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;

class AnotherDate
{
private:
int year;
int month;
int day;
public:
void setDate(int y,int m,int d)
{
year=y;
month=m;
day=d;
}
int isLeapYear()
{
return (year%4==0&&year%100!=0)||(year%400==0);
}
void print()
{
cout <<"year:" <<year <<",month:" <<month <<",day:" <<day <<endl;
}
};
void main()
{
AnotherDate *date=new AnotherDate; //这里,分配内存空间
date->setDate(1980,3,1);
date->print();
}

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧