当前位置:鱼C工作室 >C++ > 查看文章

构造器和析构器 – C++快速入门15

构造器和析构器

 

让编程改变世界

Change the world by program


 

定义构造器

 

回顾:之前我们讨论了使用面向对象的编程技术开发程序最基本步骤:

定义一个有属性和方法的类(模板)

为该类创建一个变量(实现)

这是OOP技术的基础,小甲鱼接着将逐步向大家介绍一些更复杂和更有用的概念。

首先是构造器,它是类里的一种特殊的方法。

 

构造器和通常方法的主要区别:

构造器的名字必须和它所在的类的名字一样

系统在创建某个类的实例时会第一时间自动调用这个类的构造器

构造器永远不会返回任何值

 

创建构造器,需要先把它的声明添加到类里:

class Car

{

Car( void );

}

 

注意大小写与类名保持一致。在结束声明之后开始定义构造器本身:

Car::Car(void)    // 不用写 void Car::Car(void)

{

color = “WHITE”;

engine = “V8”;

wheel = 4;

gas_tank = FULL_GAS;

}

 

好,到这里我们就可以自己着手对之前打造的那辆跑车代码进行”改装”了吧?

代码下载地址

 

构造对象数组

 

之前我们已经说过,数组可以是任何一种数据类型,当然也包括对象。

如:Car mycar[10];

调用语法依旧是:mycar[x].running;

注:x代表着给定数组元素的下标。

好了,自己造十几辆法拉利”自慰下”。

 

Pay attention

 

每个类至少有一个构造器,如果你没有在类里定义一个构造器,编译器就会使用如下语法替你定义一个:ClassName::ClassName() { }

这是一个没有代码内容的空构造器,除此之外,编译器还会替你创建一个副本构造器(CopyConstructor)。(这个迟些给大家介绍)

这一切都发生在幕后,而小甲鱼在这里给大家提出主要目的是希望大家能够了解构造器有多么重要。

一种常见的做法是在创建对象的同时做一些事情(构造器背后搞鬼),在对象创建出来之后用另一个方法做同样或者不同的事情。

如:

Car mycar;

mycar.setColor(“Yellow”);

 

分页阅读: 1 2 下一页
为您推荐

报歉!评论已关闭.