大家看看这个简单的程序是怎么了呀?(高手莫入)

yuanxulong198010 2002-11-06 08:13:13
下面是我写的一个简单的小程序,但是无法编译通过!
#include <iostream.h>
class mytime
{
public:
int tm_hour;
int tm_min;
int tm_sec;
public:
void get()
{
cout<<tm_hour<<":"<<tm_min<<":"<<tm_sec<<endl;
}
void set(int,int,int);
}
保存为mytime.h文件。
#include "mytime.h"
mytime::set(int h,int m,int s)
{
hour=h;
min=m;
sec=s;
}
保存为mytime.cpp文件。
然后是主文件,如下:
void main() //error:too many type proto>>
{
mytime mtime;
mtime.set(12,35,35);
mtime.get();
} //warning:function should return a value;

为什么不能编译通过呀,是不是我定义的头文件有问题呀,请指教!

...全文
48 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzh_shat 2002-11-06
  • 打赏
  • 举报
回复
//--------mytime.h-------
#include <iostream.h>
class mytime
{
public:
int tm_hour;
int tm_min;
int tm_sec;
public:
void get() {cout<<tm_hour<<":"<<tm_min<<":"<<tm_sec<<endl;}
void set(int h,int m,int s)
{
tm_hour=h;
tm_min=m;
tm_sec=s;
}
};
//-------main.cpp----------
#include"mytime.h"
int main()
{
mytime mtime;
mtime.set(12,35,35);
mtime.get();
return 0;
}


h3wolf 2002-11-06
  • 打赏
  • 举报
回复
//--------mytime.h-------
#include <iostream.h>
class mytime
{
public:
int tm_hour;
int tm_min;
int tm_sec;
public:
void get() {cout<<tm_hour<<":"<<tm_min<<":"<<tm_sec<<endl;}
void set(int,int,int);
}

//--------mytime.cpp-------
#include "mytime.h"
mytime::set(int h,int m,int s)
{
tm_hour=h;
tm_min=m;
tm_sec=s;
}

//-------main.cpp----------
#include "mytime.h"

int main()
{
mytime mtime;
mtime.set(12,35,35);
mtime.get();

return 0;
}
h3wolf 2002-11-06
  • 打赏
  • 举报
回复
把void main()改为int main()
h3wolf 2002-11-06
  • 打赏
  • 举报
回复
hour,min,sec都没定义,主文件应包含"mytime.h",不能通过编译
earphone 2002-11-06
  • 打赏
  • 举报
回复
mytime::set(int h,int m,int s)
{
hour=h;
min=m;
sec=s;
}

你的类中没有定义hour,min,sec三个变量
langzi8818 2002-11-06
  • 打赏
  • 举报
回复
#include <iostream.h>
class mytime
{
public:
int tm_hour;
int tm_min;
int tm_sec;
public:
void get()
{
cout<<tm_hour<<":"<<tm_min<<":"<<tm_sec<<endl;
}
void set(int,int,int);
}//这里缺";"
保存为mytime.h文件。
#include "mytime.h"
mytime::set(int h,int m,int s)//应该加void
{
hour=h;//变量不对
min=m;
sec=s;
}
保存为mytime.cpp文件。
然后是主文件,如下://加#include"mytime.h"
void main() //error:too many type proto>>
{
mytime mtime;
mtime.set(12,35,35);
mtime.get();
} //warning:function should
没有问题了。你好好看看基础的东西吧。
langzi8818 2002-11-06
  • 打赏
  • 举报
回复
#include <iostream.h>
class mytime
{
public:
int tm_hour;
int tm_min;
int tm_sec;
public:
void get()
{
cout<<tm_hour<<":"<<tm_min<<":"<<tm_sec<<endl;
}
void set(int h,int m,int s);
};

void mytime::set(int h,int m,int s)
{
tm_hour=h;
tm_min=m;
tm_sec=s;
}

void main() //error:too many type proto>>
{
mytime mtime;
mtime.set(12,35,35);
mtime.get();
} //warning:function sh
没有问题了
ji_da_sheng 2002-11-06
  • 打赏
  • 举报
回复
//--------mytime.h-------
#include <iostream.h>
class mytime
{
public:
int tm_hour;
int tm_min;
int tm_sec;
public:
void get() {cout<<tm_hour<<":"<<tm_min<<":"<<tm_sec<<endl;}
void set(int,int,int);
}

//--------mytime.cpp-------
#include "mytime.h"
void mytime::set(int h,int m,int s)
{
tm_hour=h;
tm_min=m;
tm_sec=s;
}

//-------main.cpp----------
#include "mytime.h"

void main()
{
mytime mtime;
mtime.set(12,35,35);
mtime.get();
}

dlqcsdn 2002-11-06
  • 打赏
  • 举报
回复
还有一点
就是
在mytime.cpp里面的
mytime::set(int h,int m,int s)
前面还要加一个void
yuanxulong198010 2002-11-06
  • 打赏
  • 举报
回复
其实我在void main()前已经加有头文件#include <mytime.h>,但是不能通过,说变量没有定义,是不是应该这样?
//mytime.cpp
#include <mytime.h>
mytime::set(int h,int m,int s)
{
mytime::hour=h;
mytime::min=m;
mytime::sec=s;
}
是不是这样定义呢,还有呀,是不是只要包含***.h,系统就自动查找它的.cpp文件呀!
中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害的,也只有掌握了葵花宝典,才能称为“不败”。    但什么才是软件开发的葵花宝典?    让我们先从一些现象出发。我们的前提是,软件开发是一项智力密集型劳动。对于智力密集型劳动,我们观察到的现象是,个体的表现差异很大,团队的表现差异很大,组织的表现差异很大,国家的表现差异很大。这不象体力占主要的劳动,象百米王跑百米的速度也仅比我快50%。但在棋类运动中,一个高手可以车轮战数位低手,而且毫无例外地将他们一一击败!    这些智力运动员表现出的特点是,计算精确而且速度快。其行为很象东方不败。虽然关于葵花宝典的传说很多,但最准确的描述只有一个字“快”。东方不败已经快到了吓人的地步。就象卡斯帕罗夫已快到了深蓝的地步    有一则关于物理学家玻尔的轶事,有一次玻尔在普林斯顿大学听两个年青教授演讲他们的工作成果。期间玻尔突然发言说,如果照你们的研究算下去,会得到一个很有意思的推论。结果两个年青教授回去计算了两天,果然得出了同样的结论。玻尔是如何做到这样快的?    在软件开发中,我们同样注意到这样一种高手,他们可以每天写出一千行左右的高品质代码。他们可以运用已有的一些软件包,迅速完成一个新的产品。他们可以在很短的时间内,学会一项新的程序语言或是新技术。他们表现出一种神奇的速度。    在武侠小说中,所有的高手都有一些凡人不能企及的表现。象张无忌学太极,用龙爪手击败龙爪手名家;乔峰用太祖长拳击败天下英雄;姑苏慕容以其人之道还治其人之身,令狐冲一剑剌瞎十几双眼睛等等。我认为,之所以他们能做到这样,关键是在于他们快。    快并不意味着不准或品质差。快与品质并不矛盾。    高手的快,其实包含着很高的品质在其中。如果你因为高手的快,就质疑其品质,那就相当于在问:东方不败出手那么快,会不会刺不准?东方不败并不满足于刺死对手,他会在对手身上刺朵花。他把杀人变成了艺术。准确来说,他真正的兴趣不在杀人,而在于艺术。    退一步说,就算东方不败第一击有点偏差,他稍作修正后,马上跟上的第二第三击,也会击中他想击中的地方。在武功差的对手剑还没拨出来的时候,他已杀死对方并刺上了一朵花。    所以真正的软件高手,他并不满足于他的代码能有效地工作了,他认为编程是艺术,并醉心于其中。在低手能写出一个版本的时间里,他已经写出了第十版。其品质当然不可同日而语。就象一个九段棋手,在给定的时间里,他能计算十种可能,并将每种可能计算到100手之后,从中选择一种最有利的下法。低手岂有苟全的机会?    高手写软件总是不停地在重构(refactoring)。高手喜欢迭代式开发。高手说,增量就是打补丁,迭代就是推倒重来。对于软件这种东西,写一遍它可能ok(做到这一点也不容易),写十遍就是一个伟大的产品,再多写一遍它就更伟大些。   高手快的诀窍在于他很熟悉各种东西。高手看书很快,因为每一本新书里,值得他好好看的新技术只有一两章的内容。他能迅速看完,并准确领会这本书的中心思想和价值。而对于一个新手,每句话都是新的,他都需要去理解,每一段例子,他都需要去试。   很少看到一种100%全新的技术或理论。就象java language specification里说的,java没有使用任何新技术,用的都是业界久经考验的技术。对于高手来说,那些技术都是他所熟悉的。自然,很快他就从一个c++高手变成了java高手。如果一个编程新手学java,学两年也不如一个高手学两个月的。高手学新东西快。   高手写代码速度快。统计结果说,人均每人月的有效代码速度大概是300至400行。但那是业界平均生产效率。对于高手来说,这个数字太低了。每天写300至400行是完全有可能的。因为在写代码时,所有知识都已具备,已经没有任何需要他多花时间的事情了。他甚至很少需要debug。   高手重用代码的能力很强,熟悉新的api的速度很快。这也是因为,他曾经使用过很多的api,重用过很多的代码。他知道哪些是可用的,哪些有缺陷。他既过用qt,也用过gtk+,也用过windows api & mfc,也用过awt & swing。新的api对他来说,也是老熟人。 高手喜欢用轻量级的工具,象vi,notepad,最多到ultraedit这样复杂的。高手用这种工具写出很多的东西。这些工具就象东方不败的针。那根针已具有神奇的魔力,有时候它可以当激光枪来用。   对于一些重量级的工具,高手虽不常用,但一经使出也
注册表是一个庞大的数据库,是一个巨大的迷宫,只知道按照案例顺藤摸瓜地修改键值项是不够的。那么如何寻找出入注册表的线索,解开笼罩注册表的迷雾呢?答案就是必须深入了解注册表的逻辑组织结构。 一、 注册表结构概述 注册表是被保存在几个文件中,这些文件代表了注册表的物理结构,即能对这些文件进行拷贝、备份、恢复操作。然而这些注册表文件并不是简单的能被人阅读的文本格式文件,而是以二进制格式保存的。所以要使用像Regedit 之类的注册表编辑器才能浏览注册表的真实内容,而注册表编辑器展示出来的就是注册表的逻辑结构。 我们敢肯定,大部分读者在不了解注册表逻辑结构的情况下,所能做的至多是使用Regedit 等注册表编辑器漫无目的地在注册表里到处游荡,然而结果是没有任何有价值的收获,最后也只有感叹——注册表太庞大了! 另外一个潜在的普遍性问题是,很多读者利用注册表所做的仅仅是在一些修改实例资料的指导下,对注册表进行简单地修改。但作为注册表高手来说,仅仅利用注册表来达到这个目的是完全不够的,更多的应该是自己找出那些不被人知的技巧;利用注册表解决各种系统疑难问题。 毫不否认注册表确实庞大,但它具有一个有规律性的逻辑结构体系,了解了这些结构清晰的逻辑结构以后,你将发现注册表不再庞大;一旦你对注册表中每个部件将了如指掌,所做的将是具有高效率的针对性工作(而再也不是漫无目的地到处游荡);自己也能找出注册表修改技巧(而不仅仅是在别人的指导下进行);将能解决更多的系统疑难问题(而不是仅仅利用注册表做那些简单的事)。总之你将能发挥注册表的最大潜能为你所用。 比如,初学者经常碰到的摸不着头脑一个问题是,为什么在 HKEY_LOCAL_MACHINE\Software\和HKEY_CURRENT_USER\Software\里都有诸如Microsoft 之类的子键,而且看上去非常相似?是不是他们都是相同的?实际上,在了解了注册表逻辑结构的情况下,就会明白 HKEY_LOCAL_MACHINE\Software\下存放的软件信息是被所有用户使用的,而HKEY_CURRENT_USER\Software\下保存的仅仅被当前用户使用!两个子键下包含的子键名有可能一样,但里面的键值项则完全不一样(具体还要看各个程序的设置)。 注册表的逻辑结构非常复杂,包含了五大根键和成千上万的子键和键值项,但是你千万不要被这些吓倒!就像一个“植物学家”,他要了解“注册表”这棵树,可以有代表性地研究它的某些部分,而不必去了解所有的树枝和叶子。 值得庆幸的是,本章将对Windows 注册表的逻辑结构进行全面详实地剖析,这是你继续深入了解注册表的绝佳时机!从这些章节里你将真正学习到注册表的全部内容;注册表的每个部件都将展现你的面前;几乎所有的系统、程序的设置信息也会完全被“公开”——你所能做的是对注册表进行最彻底地了解,最终,注册表高手也非你莫属。
一、云播搜 磁力搜索 简介 1、未来流行怎么看电影?当然是 磁力搜索 迅雷云播!本程序为磁力搜索小偷程序,一个超级简洁,但绝不简单的小偷程序! 2、使用本程序,仅需一个虚拟主机即可拥有一个有300万以上的磁力连接的网站!各种资源随便搜,没有搜不到,只有想不到! 3、本程序支持二级目录运行!可以用作整站运营,也可以作为网站的有益补充! 4、支持两种采集方式,适用于绝大部分服务器! 二、云播搜 磁力搜索 安装 将本程序下载解压后上传至服务器后,修改 config.php 的配置文件即可!暂无后台管理。 首次使用或更改配置后,如存在 index.cache.html ,请删除。 本程序仅对首页进行缓存,由于总磁力链接数达300万以上,磁力详情页缓存可会占用大量磁盘空间V1.0版,暂不提供缓存。 三、目录说明 -|  |  | config.php  配置文件,使用前请先修改  |  | function.php 部分函数文件,无需修改文件  |  | index.php   首页文件  |  | search.php  搜索文件  |  | hash.php    磁力详情页文件  |  | statics     css,js,image 等静态文件    | css    | images    | js  |  | index.cache.html 运行后产生的首页缓存文件 PS:作者初次编写小偷程序程序简陋,高手莫见笑! 磁力搜索小偷,各种小偷程序交流群:172226108 ,加群验证“云播搜”,使用交流,BUG反馈,升级建议请加群,谢谢!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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