`
yunchow
  • 浏览: 324351 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

面向对象编程

    博客分类:
  • C++
阅读更多
//倒计时
#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 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,涵盖了 Java 语言的基本语法、面向...

    Java面向对象程序设计

    1. **面向对象编程基础**:面向对象编程(OOP)是一种编程范式,它基于“对象”的概念,强调数据和操作数据的方法结合在一起。Java作为一款纯面向对象的语言,其一切皆为对象,包括基本类型都有对应的包装类。 2. *...

    C++面向对象程序设计课程大作业-通讯录管理系统

    本项目是基于C++的面向对象程序设计实现,旨在教授学生如何运用面向对象编程思想来构建实际的应用程序。** **一、面向对象编程基础** 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,其核心思想...

    SSD3 面向对象程序设计 pdf

    SSD3教材内容覆盖了面向对象编程的多个方面,包括但不限于继承、多态、抽象类和接口的实现。 在学习过程中,学生不仅需要通过Java语言进行编程实践,还要学习设计健壮、可扩展的类。课程要求学生能够使用UML(统一...

    c++面向对象程序设计课后习题答案

    C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种编程范式,它以对象为中心,强调数据和操作数据的方法的封装。本资料集是关于“C++面向对象程序设计”的课后习题答案,...

    面向对象程序设计实训报告.docx

    这个项目旨在帮助学生掌握Java语言中的面向对象编程概念,特别是类的设计、属性和方法的运用,以及数组和集合(如ArrayList)的使用。 在“随机点名器”项目中,主要功能要求包括: 1. 存储全班同学的姓名。 2. ...

    面向对象程序设计—C++语言描述PDF

    《面向对象程序设计:C++语言描述(原书第2版)》内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、c++语言的各种特性、stl、c++输入/输出流、mfc等。...

    java面向对象编程源码

    其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(Sun Cer......

    java面向对象程序设计第4章源代码

    首先,类是面向对象编程的基础。类定义了一组属性和行为,这些属性描述了类的特征,而行为则表示类可以执行的操作。在Java中,我们使用关键字"class"来声明一个类,例如: ```java public class MyClass { // 属性...

    java面向对象编程pdf

    面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将程序设计看作是对象的交互,对象之间的关系和行为。 一、对象和类 在Java中,对象是指具有某些特征和行为的实体,例如人、学生、大象、冰箱...

    Python实验一 面向对象程序设计实验.doc

    本实验旨在让学生深入理解和实践面向对象编程的基本原理和技巧。 首先,实验要求学生掌握类的定义。在 Python 中,类是创建对象的蓝图,它包含属性(成员变量)和行为(成员函数)。例如,定义了一个名为 `Vehicle`...

    C#面向对象编程期末参考题

    【标题】"C#面向对象编程期末参考题"揭示了本次讨论的核心——C#编程语言中的面向对象编程(Object-Oriented Programming, OOP)概念,这是软件开发中的一种重要方法论。C#是一种现代、类型安全且面向对象的语言,...

    matlab面向对象编程.pdf

    面向对象编程在设计、测试和维护大型应用程序方面尤其有用。通过封装,可以隐藏不必要的信息,从而简化类的使用。继承促进了代码重用,并提供了一种自然的方式来模拟现实世界的层次结构。而多态性允许在软件中添加新...

    C++面向对象程序设计 经典例题 附练习题

    C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种设计和实现软件的方式,它强调将现实世界的问题和解决方案映射到计算机程序中的对象。本资料包“C++面向对象程序设计 经典...

    C++面向对象程序设计教程——课件PPT

    C++是一种强大的编程语言,以其面向对象特性而闻名,它结合了过程化编程和面向对象编程的优势。在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版...

    c++面向对象编程实例大全

    《C++面向对象编程实例大全》是一本专为初级学习者设计的教程,旨在通过丰富的实例深入浅出地讲解C++的面向对象编程概念。面向对象编程(Object-Oriented Programming,简称OOP)是C++的核心特性,也是现代软件开发...

    面向对象程序设计教案

    1. **对象和类**:对象是面向对象编程的基本单元,它包含了数据(属性)和操作这些数据的方法(行为)。类是创建对象的模板或蓝图,定义了一组具有相同特征和行为的对象的通用描述。 2. **封装**:封装是面向对象的...

    Matlab面向对象编程

    Matlab面向对象编程是一种在MATLAB环境下通过面向对象的方法来组织和构造程序代码的技术。面向对象编程(OOP)的基本特征包括抽象、封装、继承和多态。以下是根据给定的文件信息,对这些知识点的详细解释: 1. 抽象:...

    c++面向对象程序设计语言重点难点复习题及答案-整理.pdf

    C++语言继承了C语言的优点,并加入了面向对象编程的概念,成为了一种功能强大且灵活的程序设计语言。 1.1 C++语言的特点 * 静态类型:C++语言是一种静态类型的语言,变量的数据类型在编译时确定。 * 编译型:C++...

Global site tag (gtag.js) - Google Analytics