- + P A

- 面向对象(OOP)的基本特征

      C++ 2008-10-17 15:45
面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。面向对象程序设计技术的提出,主要是为了解决传统程序设计方法——结构化程序设计所不能解决的代码重用问题。

  面向对象的编程方法具有四个基本特征:

 

1.

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 笔记

      C++ 2008-10-15 10:55

  a为基类,b为a的派生类。当通过基类的指针去删除派生类的对象,而基类又没有虚析构函数时,结果将是不可确定的。实际运行时经常发生的是,派生类的析构函数永远不会被调用。即若 a*   pa;    pa=new   b;  delete   pa; /*我知道析钩函数一定要声明为虚的,只有这样,在delete   pa以后,才能按正确的顺序依次调用。派生类的析构和基类的析构来释后内存自由存储区,但我不明白的是为什么不虚,就会只调用一 次基类的析构函数,而不是派生类的析构函数。*/  

如果函数不是   virtual   的,则进行的是静态绑定,即在编译期间就决定了其调用的函数。  对于上面的程序来说,   delete   pa;,即使基类指针   pa   实际上指向的是派生类对象,但是编译器也会把这个基类指针和指向类型(基类)的析构函数进行静态绑定,从而达不到调用派生类析构函数的目的。

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- new malloc

      C++ 2008-10-14 18:2

1、mallocfree

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 构造函数与析构函数

      C++ 2008-10-14 11:45

1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象。

  2.若没有提供任何构造函数,那么c++提供自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而不做任何赋值操作。

  3.只要类中提供了任意一个构造函数,那么c++就不在自动提供默认构造函数。

  4.类对象的定义和变量的定义类似,使用默认构造函数创建对象的时候,如果创建的是静态或者是全局对象,则对象的位模式全部为0,否则将会是随机的。

我们创建了一个带有字符指针的带有形参的Teacher(char *input_name)的构造函数,调用它创建对象的使用类名加对象名称加扩号和扩号内参数的方式调用,这和调用函数有点类似,但意义也有所不同,因为构造函数是为创建对象而设立的,这里的意义不单纯是调用函数,而是创建一个类对象。

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()