//倒计时
#include <iostream>
#include <ctime>
using namespace std;
class Clock{
int h;
int m;
int s;
public :
void set( int h, int m , int s );
void tick();
void show();
void run();
};
void Clock::set(int ho, int mo, int se )
{
h = ho;
m = mo;
s = se;
}
void Clock::tick()
{
time_t t = time(NULL);
while(time(NULL)==t);
if(-- s<0){
s = 59;
if(--m < 0 ){
m = 59;
if(--h < 0)
h = 23;
}
}
}
void Clock::show()
{
cout << '\r';
if(h<10) cout << 0;
cout << h << ':';
if(m<10) cout << 0;
cout << m << ':';
if(s<10) cout << 0;
cout << s << flush;
}
void Clock::run()
{
while(h!=0||m!=0||s!=0){
tick();
show();
}
cout << "time out!" << endl;
}
int main()
{
Clock c;
c.set(0,1,5);
c.run();
}
面向对象编程
* 定义和实现类
* 创建对象
* 使用对象
跟类同名的函数叫构造函数,无返回类型,因为它是自动调用的
结构和类最大的区别是:结构里的成员默认是完全公开的,谁都能访问,而类不行.
结构还可以通过{}来初始化,而类却不行,只能通过构造函数来初始化.
class A{
int n;
const double d;
public:
A():n(0),d(0.0)/*初始化列表*/{
cout << "Call A()" << ednl;
}
A(int n):n(n),d(120.0){
cout << "Call A(int)" << endl;
}
}
int mian()
{
A al;
A a2(100);
A a3();//像一个函数申明,不会分配空间,不能这样写
}
类的初抬化(与赋值不同):初始化列表,:成员变量名(初始化值),多项用豆号隔开.
常量可以初始化,但是不能赋值.
注意:初始化列表不能用来初始化数组和结构变量.
形参可以有默认值.//这一特性可以简化程序
构造函数比较适合做一些准备性的工作.
----------------------------
* 析构函数 : ~类名,也叫解构函数,解构器,析构器
它是用来做收尾工作的,被自动调用.
析构函数总是没有形参.它也不能重载.
析构函数应该是公开的.
全局变量会在所有其它变量之前创建,之后释放.
从来没必要去调用析构函数.
析构的顺序与构造的顺序恰恰相反.
pase error at the end of unput //表示少了大括号
全局变量在main方法前面就已经形成了.
全局对象的构造函数在main前调用.
当不写构造函数时,系统会自动生一个无参的构造函数,如果
自已写构造函数了,系统将不再提供构造函数.
----------------------------------
对象指针:this,A* p
对象指针与结构指针一样,此处不再赘述.
对象也可以有别名 A a; A& b = a;//此时a,b将是一样
* 面向对象理论
用类做封装工作
自然界中的任何一个实体都看成一个对象.
分析并分解出某个问题中的种种对象,也就是找名词.
准确的描述所有对象之间的种种关系.
找到它们之间的相互关系.
用类来定义程序结构.
对所有对象进行抽象总结
1, 名称
2, 属性
3, 行为
程序 = 数据 + 算法
算法 = 函数 + 控制流程
c++中的封装是由类来完成的.
* 封装
* 继承
* 多态
分享到:
相关推荐
其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Cer......
C#面向对象编程期末开卷参考题
习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf习题解答-Java面向对象程序设计-邢...
《Java面向对象程序设计》和《Java面向对象程序设计习题解答与实验》,使用超星阅读器浏览,仅供学习和参考使用。
面向对象编程是计算机语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程...
面向对象程序设计 廖裕青 面向对象的软件开发
Labview面向对象编程快速入门
《面向对象程序设计:C++语言描述(原书第2版)》内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、c++语言的各种特性、stl、c++输入/输出流、mfc等。...
C++面向对象程序设计课程设计报告.pdf
c++面向对象程序设计课后习题答案c++面向对象程序设计课后习题答案c++面向对象程序设计课后习题答案
让读者在理解面向对象编程思想的同时逐步掌握Java程序设计语言,在能够使用Java编写应用程序后建立起完整的面向对象编程思想体系。 全书共13章,内容包括Java介绍、面向对象编程中的对象、由对象展开的Java基本数据...
Python实验一 面向对象程序设计实验
C++面向对象程序设计习题集,主要练习面向对象思想。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
java面向对象程序设计第4章源代码
面向对象程序设计—c++部分习题答案。面向对象程序设计—c++部分习题答案
Delphi面向对象程序设计课件
JAVA面向对象程序设计(期末考试试题及答案)
在次有大量的关于c++面向对象编程的实例 对于初级的学习者有很大的帮助
JAVA面向对象程序设计(期末考试试题及答案)
Java面向对象程序设计教程PDF,完整的面向对象编程指南,大量习题便于自学。