开发者社区> 问答> 正文

C++ 类 调试出错,,求帮忙看看,,,? 400 报错

C++ 类 调试出错,,求帮忙看看,,,? 400 报错

C++程序调试时出错,,求帮忙看看。。

 

 

 

 

#include <iostream>

using namespace std;
class Clock
{
    public:
    void sethour(int h){
        hour=h;
    }
    void setminute(int m){
        minute=m;
    }
    void setsecond(int s){
        second=s;
    }
    void time(){
        cout<<"the time now is:"<<hour<<":"<<minute<<":"<<second<<endl;
    }
        private:
     int hour,minute,second;
};
int main(int argc, char *argv[])
{
    Clock *a,*b,c,d;
    d=c;
    c.sethour(1);
    c.setminute(2);
    c.setsecond(3);
    b=a;
    a->sethour(4);
    a->setminute(5);
    a->setsecond(6);
    c.time();
    d.time();
    a->time();
    b->time();
    return 0;

}

展开
收起
爱吃鱼的程序员 2020-05-29 19:45:15 345 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    a,b是指针,而又不存在他们指向的对象实体,并且在a,b没经过初始化就直接用,a,b还是个野指针,不错才怪。 试试开始后a = &c; b=&d;就好了。######回复 @中山野鬼 : 呜呜~~~,,好悲剧,,还是学校发的书,,######回复 @中山野鬼 : 不要这么说撒,可能人家买到老番了撒。######回复 @maeon : 哈哈。。。 @cut ,我又见到一个把书当圣经的可爱小朋友。。。资料上面有错误,吃大亏的,我经历好几次了。不是资料的错,不是工具的错,是鬼片子的加工工艺和频率太高的错。哈。######回复 @maeon : 去骂出资料的,那么SB的错误都有######谢谢,,这是资料上的例子,好纠结啊,,######

    额,尽信书不如无书,不过楼主拿书上的代码去运行,精神可嘉。

    我想,你是想弄明白对象和对象指针的一些操作。那么首先,你应该生成一个最简单的对象,而不要一次搞几个对象和几个指针,在没有建立堆和栈的概念之前,这是很不理智的。

    完全可以先定义一个叫a 的栈对象,做一些操作,然后定义一个 Clock 的指针,去指向a这个对象,然后做一些操作,再然后,定义一个d的栈对象,做一些拷贝,这个时候,可能你需要给Clock类加入拷贝构造和重载赋值运算符了。最后,你可以定义一个Clock的指针,申请堆上的对象。通过这几个步骤,你就能搞明白这些基础,顺便也能理解堆和栈的概念了。

    初学上手,一定要一次解决一个问题,否则,很容易受打击,很不利于分析和解决问题。

    ######C语言还没学入门就学C++. ######学过了~~
    2020-05-30 14:01:57
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
继承与功能组合 立即下载
移动与复制 立即下载
对象的生命期管理 立即下载