类和对象

1语言规则
           在C++中使用自定义类型,有一些基本规则,这是最基础的,简单可概括为:分清编译器的责任和程序员的责任。
   编译器:
             若程序员未编写任何构造函数,那么,编译器会提供默认构造函数、默认拷贝构造函数、默认赋值操作符。
             默认构造函数:      在执行时会首先调用父类的无参构造函数,再调用自己对象成员变量的无参构造函数。
            默认拷贝构造函数:在执行时会调用父类的拷贝构造函数,再调用自己成员的拷贝构造函数。
            默认赋值操作符:   在执行时会调用父类的赋值操作符,再调用自己成员的赋值操作符。
   程序员:
            根据需要编写自己的类。
            
           当父类或自己对象成员变量不存在无参构造函数时,编译器就不知道怎么初始化它们,这时,
           程序员需在初始化列表或构造函数体内编写代码,保证初始化正常。
          另外,非静态内置类型必须得程序员手动编写代码进行初始化。
          类的静态成员变量关联于类,静态变量必须在源文件中进行定义才能分配内存,静态变量会在main函数执行之前被编译器初始化为0。
         当类中存在指针或引用成员变量时,最好自己编写拷贝构造函数和赋值操作符,或禁止外部调用拷贝、赋值。
 2应用

        编写类,要有清晰的核心目的。
         类将数据和操作封装在了一起,这给编写可维护、可扩展、可复用软件提供了最强大的支持:
        1 类的封装让代码复用更容易。
        2 类的封装,让程序员在编写、测试完这个类后就从中解脱出来,可以专注于软件其它的部分。
        3 封装将复杂算法封装在类里面,使以后替换更优秀算法变得容易,不必为此修改外部代码。
        4 如果bug是针的话,类的封装便使测试变得像在水杯里捞针,而不是在大海里。

posted on 2011-01-09 10:24  邢同举  阅读(291)  评论(0)    收藏  举报

导航