标题:远在南京的学习之路
关键词:对象、类
内容:
一句话概括今日学习完成情况:
(a)9.3、9.4的学习 50% 忙碌一天,时间仓促,只完成了第三节的学习
(b)再一次同上。
具体内容:
昨天晚上根据9.2的教程做了一个关于闹钟的代码,但是无法运行,出现了一个error,今天我发现了一个特别特被傻逼的事情。
昨天的源代码里面居然是没有主程序的。只是单纯的定义了一个类函数而已。然而当时我还在单纯地思考一个源代码里没有int main函数运行的可能性。现在想起来内心还是有点惭愧的。感觉这15天都白学了,居然有这种傻逼的想法。
今天学习了9.3,看到老师花了一多半的时间来解读这个main函数,我诚惶诚恐的在网吧把它敲了进去:
#include<iostream>
#include<windows.h>
using namespace std;
class Clock
{
private:
int Hour;
int Minute;
int Second;
float Price;
public:
void Set(int h,int m,int s,float p);
void Run();
void Report_Time();
void Show_Time(){cout<<Hour<<":"<<Minute<<":"<<Second;};
};
void Clock::Set(int h,int m,int s,float p)
{
Hour=h;
Minute=m;
Second=s;
Price=p;
}
void Clock::Run()
{
int i=0;
for(i=0;i<10;i++){
Second++;
if(Second==60){
Second=0;
Minute++;
if(Minute==60){
Minute=0;
Hour++;
if(Hour==24)Hour=0;
}
}
cout<<"\t";
Sleep(1000);
Show_Time();
}
}
int main()
{
Clock XJTU_Big_Ben;
XJTU_Big_Ben.Set(0,0,0,1000);
cout<<"The Time that the Clock Set:\n";
XJTU_Big_Ben.Show_Time();
XJTU_Big_Ben.Report_Time();
XJTU_Big_Ben.Run();
XJTU_Big_Ben.Set(9,51,50,9000);
cout<<"\n The Time that the Clock Set: \n";
XJTU_Big_Ben.Run();
XJTU_Big_Ben.Report_Time();
cout<<endl;
XJTU_Big_Ben.Show_Time();
return 0;
}
然而这个函数还是无法运行。但是我一再的确认过了。现在我基本上是确定了是存储空间方面的问题。因为我在网吧,也不好意思拆他的电脑。就先放在这。反正我潜意识里认为他是可以运行的。
PS(刚刚把我的代码发给了刘威同学,他是可以运行的。)
对象的引用类似于结构体。对类中成员的访问要采用“.”运算符
类的定义分为公有成员和私有成员。前者是可以被为外界直接访问的,而后者不可以。这个成员函数是可以在类中定义,也可以在类外定义的(使用作用域运算符::)
这三个东西的书写顺写是任意的。
明日计划:
回家,然后把这个闹钟函数搞定。 在网吧……
一会再说,刘威同学发现了我一个特别傻逼的错误……我的Report_Time函数居然没有定义,只是在类中声明了一下而已……现在已经可以正确的运行了!!
感谢@刘威同学,顺便心疼一波自己。
自罚把这个闹钟函数抄写3遍~
#include<iostream>
#include<windows.h>
using namespace std;
class Clock
{
private:
int Hour;
int Minute;
int Second;
float Price;
public:
void Set(int h,int m,int s,float p);
void Run();
void Report_Time();
void Show_Time(){cout<<Hour<<":"<<Minute<<":"<<Second;};
};
void Clock::Set(int h,int m,int s,float p)
{
Hour=h;
Minute=m;
Second=s;
Price=p;
}
void Clock::Run()
{
int i=0;
for(i=0;i<10;i++){
Second++;
if(Second==60){
Second=0;
Minute++;
if(Minute==60){
Minute=0;
Hour++;
if(Hour==24)Hour=0;
}
}
cout<<"\r";
Show_Time();
Sleep(1000);
}
}
void Clock::Report_Time()
{
Show_Time();
if(Minute==0&&Second==0){
for(int i=0;i<Hour;i++){
cout<<"\007";
Sleep(1000);
}
}
}
int main()
{
Clock XJTU_Big_Ben;
XJTU_Big_Ben.Set(0,0,0,1000);
cout<<"The Time that the Clock Set:\n";
XJTU_Big_Ben.Show_Time();
XJTU_Big_Ben.Report_Time();
XJTU_Big_Ben.Run();
system("pause");
XJTU_Big_Ben.Set(9,51,50,9000);
cout<<"\n The Time that the Clock Set: \n";
XJTU_Big_Ben.Run();
XJTU_Big_Ben.Report_Time();
cout<<endl;
XJTU_Big_Ben.Show_Time();
return 0;
}
再来一波明日计划:
9.4认真完成,9.1-9.3认真复习
还有我在网吧敲代码……真是程序员的榜样……
不说了,网费太贵。撤了……
我的邮箱:smartisandre@yeah.net
我的博客:blog.csdn.net/andr3zzzz