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

请注意,这一节内容是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++
, 类 c++ 面向对象
, 对象
, 函数
, c++ 面向对象
, 析构函数 类做参数
, 自动
, 三角函数 c++函数
, c++入门
, 默认构
, 析构函数类c++
, c++构造函数
, 一个
成员
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-09-20 00:29:20

C++面向对象编程入门:构造函数与析构函数的相关文章

JavaScript面向对象编程入门教程_基础知识

尽管面向对象JavaScript与其他语言相比之下存在差异,并由此引发了一些争论,但毋庸置疑,JavaScript具有强大的面向对象编程能力 本文先从介绍面向对象编程开始,然后回顾JavaScript对象模型,最后演示JavaScript中的面向对象编程概念. JavaScript回顾 如果你对诸如变量(variables).类型(types).函数(functions).以及作用域(scope)等JavaScript概念觉得心里没底,那么你可以阅读重新介绍JavaScript中的这些主题.你还

C++面向对象编程入门:类(class)

上两篇内容我们着重说了结构体相关知识的操作. 以后的内容我们将逐步完全以c++作为主体了,这也意味着我们的教程正式进入面向对象的编程了. 前面的教程我已经再三说明,结构体的掌握非常重要,重要在哪里呢?重要在结构体和类有相同的特性,但又有很大的区别,类是构成面向对象编程的基础,但它是和结构体有着极其密切的关系. 我们在c语言中创建一个结构体我们使用如下方法: struct test{ private: int number; public: float socre;}; 类的创建方式和结构体几乎一

PHP面向对象编程入门教程

<?php教程 /*  类的声明  *    1.你要开发的是什么,确定写什么类  *    2.类中的成员一定要属于这个类    *       [修饰类的关键字] class 类名{  *         成员属性:  *         成员方法:  *        }  *    3.在类中声明成员属性时,前面必须有修饰词,当不确定使用哪个词时,使用var或public  *    一个文件只保存一个类,文件名中包含类名,文件:类名.class.php  *      类名的写法:  

深入剖析JavaScript面向对象编程_javascript技巧

二. Javascript 面向对象编程:构造函数的继承 本节主要介绍,如何生成一个"继承"多个对象的实例. 比如,现在有一个"动物"对象的构造函数, function Animal(){ this.species = "动物"; } 还有一个"猫"对象的构造函数, function Cat(name,color){ this.name = name; this.color = color; } 怎样才能使"猫&qu

013_《Delphi面向对象编程思想》

<Delphi面向对象编程思想> Delphi 教程 系列书籍 (013) <Delphi面向对象编程思想> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf 作者: 刘艺 [作译者介绍] 丛书名: Borland核心技术丛书 出版社:机械工业出版社 ISBN:7111127722 上架时间:2003-10-10 出版日期:2003 年9月 开本:16开 页码:476 版次:1-1 内容简介 这是一本纯粹讨论dlephi面向对象编程的力作. 本书以精

PHP面向对象编程快速入门

编程|对象|快速入门 面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法. 我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境.和其他编程语言有所不同的是,在PHP中,操作数据库的是一系列的具体功能函数(如果你不使用ODBC接口的话).这样做虽然效率很高,但是封

PHP面向对象编程的快速入门

  面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要

C++面向对象入门~构造函数编译不通过

问题描述 C++面向对象入门~构造函数编译不通过 一个简单的面向对象入门,在codeblock上,构造函数的参数编译失败 #include <iostream>using namespace std;class Building{protected: string name; int floorNumroomAmount; float wholeArea;public: Building(string nint fint rfloat w) { this->name=n; this-&g

PHP面向对象编程快速入门_php技巧

[摘 要]面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良 好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和 规划好Web开发构架都是非常有意义的. 面向对象编程(OOP)是我们编程的一项基本技能,PHP4对 OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高PHP 编程 能力和规划好Web开发构架都是非常有意义的.下面我们就通过实例来说明 使用PHP的OOP进行编程的实际意义和应用方法. 我们通常在做一个有数据库后