动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   程序开发 → 阅读文章

 C++面向对象编程入门:构造函数与析构函数

作者来源: 
阅读 数 248 人次 , 2006-5-10 17:13:00 

  请注意,这一节内容是c++的重点,要特别注意!

  我们先说一下什么是构造函数。

  上一个教程我们简单说了关于类的一些基本内容,对于类对象成员的初始化我们始终是建立成员函数然后手工调用该函数对成员进行赋值的,那么在c++中对于类来说有没有更方便的方式能够在对象创建的时候就自动初始化成员变量呢,这一点对操作保护成员是至关重要的,答案是肯定的。关于c++类成员的初始化,有专门的构造函数来进行自动操作而无需要手工调用,在正式讲解之前先看看c++对构造函数的一个基本定义。

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

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

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

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

  我们来看下面的代码:

#include <iostream
using namespace std;   
class Student 

    public
    Student()//无参数构造函数 
    { 
        number = 1; 
        score = 100; 
    } 
    void show(); 
 
    protected
    int number; 
    int score; 
 
}; 
 
void Student::show() 

    cout<<number<<endl<<score<<endl; 

 
void main() 

    Student a; 
    a.show(); 
    cin.get(); 
}

  在类中的定义的和类名相同,并且没有任何返回类型的Student()就是构造函数,这是一个无参数的构造函数,他在对象创建的时候自动调用,如果去掉Student()函数体内的代码那么它和c++的默认提供的构造函数等价的。

  构造函数可以带任意多个的形式参数,这一点和普通函数的特性是一样的!

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:C++面向对象编程入门:类(class)
· 下一篇:理解C++面向对象程序设计中的抽象理论
· 认识JDBC 2.0中的高级数据类型
· Java技术的新方向
· 推荐:Delphi使用技巧之ABC
· C语言中的面向对象(1)-类模拟和多态,继承
· 养成“好”的编程习惯


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077