构析函数和构造函数

一、构造函数的介绍
    1. 构造函数的作用
        构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的构造函数。一般来说, 构造函数有以下三个方面的作用:
            ■ 给创建的对象建立一个标识符;
            ■ 为对象数据成员开辟内存空间;
            ■ 完成对象数据成员的初始化。
        
    2. 默认构造函数
        当用户没有显式的去定义构造函数时, 编译器会为类生成一个默认的构造函数, 称为 "默认构造函数", 默认构造函数不能完成对象数据成员的初始化, 只能给对象创建一标识符, 并为对象中的数据成员开辟一定的内存空间。
        
    3. 构造函数的特点
        无论是用户自定义的构造函数还是默认构造函数都主要有以下特点:
            ①. 在对象被创建时自动执行;
            ②. 构造函数的函数名与类名相同;
            ③. 没有返回值类型、也没有返回值;
            ④. 构造函数不能被显式调用。

时间: 2024-12-15 13:03:06

构析函数和构造函数的相关文章

字符串函数构析

字符串函数构析 今日参加了一场笔试,刚好程序题问到一道strcpy函数构建,刚好之前看过字符串函数,同时网上文章大部分都是介绍了下函数的用法,缺少了函数的实现,今日就来自己构析下常见的字符串函数,字符串函数位于标准库的头文件string.h中,在使用函数时需引用该文件 strlen 函数原型:size_t strlen(const char *s) 函数功能:返回s的字符串函数(不包含结尾的0) 函数构析:  size_t strlen(const char *s) /*size_t在不同架构下

跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)

函数就是成员方法(方法有三:构造方法.成员方法.析构方法) 下面是两种方法. 构造方法和构析方法 00x1 构造方法 构造方法会在创建对象之后自动调用.其名称为__construct <?php class Student{ var $name; var $age; var $sex; function __construct(){ //可以从输出中看得出来,我们并没有输出这个方法,但是他自动输出了.这个就是构造方法的作用,会自动的被调用! echo "520PHP<br />

[转载]虚函数在构造函数中,已经失去了虚函数的动态绑定特性

class A { public: A() { Print(); } virtual void Print() { printf("A is constructed.\n"); } }; class B: public A { public: B() { Print(); } virtual void Print() { printf("B is constructed.\n"); } }; int _tmain(int argc, _TCHAR* argv[])

浅析普通函数与构造函数

对于搞明白什么是普通函数与构造函数,首先我觉得我们应该对函数有一定的了解才行: 函数的作用就是封装一段可以重复执行的代码片段 那么为了区分这两个概念,我将它们作一个比较来说比较好: 第一点:从命名规范上来看(并不是主要区别) function personNum(){}  personNum();  //这是普通函数,它命名的规范一般采用驼峰命名法(首字母小写) Function PersonNum(){}  var p=new PersonNum()  p(); //这是构造函数,规范命名一般

JavaScript中的普通函数与构造函数比较

问题 什么是构造函数?构造函数与普通函数区别是什么?用new关键字的时候到底做了什么?构造函数有返回值怎么办?构造函数能当普通函数调用吗? thisthis永远指向当前正在被执行的函数或方法的owner.例如: 1 2 3 4 5 function test(){   console.log(this); } test(); //Window {top: Window, window: Window, location: Location, external: Object, chrome: O

轻松理解js的函数和构造函数的区别

如何轻松理解js的函数和构造函数的区别,这是个一直头大的问题,很多例子都没有清晰的描述清楚.. 在这里,我就用平常的道理来阐述一下,希望能理解清楚. 从这里开始入手吧 这是普通函数的定义和调用方式.看起来没什么特别的,但是往下看就有奇怪的东西了. 再做一个: 你没发先一个很奇怪的现象吗? 你的这个函数里面并没有返回什么,也就是没有return ,但是你调用的时候却可以接受啊. 如:var p=new Person('niexiaoqian'); alert(p.name); //niexiaoq

面向对象(子父类中变量、函数、构造函数的特点)

/** * Created by 刘朋程 博客园 on 2014-07-15. */ class fu {     int num = 4 ;               //定义父类的变量num = 4     fu()                        //定义父类的构造函数     {         System.out.println("fu run");     }     void speak()                //定义父类的方法     {

普通函数、构造函数

普通函数和构造函数的区别 this指向不同(构造函数的this指向创建的对象实例上) 调用方式(构造函数 调用需要new) 命名方式(构造函数首字母大写,普通函数使用驼峰法命名) 普通函数(驼峰命名 eg:personNew) function add(a,b){ retrun a+b; } add(1,2); console.log(add(1,2)); //3 构造函数(必须大写) function Person(name,age){ this.name = name; this.age =

CPP_类默认函数:构造函数,拷贝构造函数,赋值函数和析构函数

类默认函数:构造函数,拷贝构造函数,赋值函数和析构函数 class Person{ public : Person():age(10), name(NULL); Person(int myage, char *myname); Person(const Person &a); ~Person(void); void set_age(int myage); void get_age(void); void set_other_age(Person &a, int b); private: i