`

《C++学习笔记》构造函数及特点

    博客分类:
  • C++
阅读更多
===============================================
未完待续,转载时请表明出处:http://www.cofftech.com/thread-1392-1-1.html
欢迎大家跟帖讨论哈~~~~~
===============================================
以下两条语句同样地不能将变量j或对象obj初始化,即:
int j;
integ obj;
对于单个变量,可如下进行初始化:
int j(10);
对于类的对象,是否也可用此方式初始化?例如integ obj(15);可以。但须依靠构造函数。
C++系统提供了构造函数的功能。在用户定义构造函数之后,也和单个变量同样,每当建立对象时,系统即自动地调用该对象的构造函数,完成该对象的初始化操作。见下例:
[例1]使用构造函数将对象初始化
// initialize_2.cpp
#include <iostream.h>
class point
{
       int x, y;
public:
       point( int vx, int vy) { x = vx; y = vy; }       //构造函数
       void print( ) { cout<<x<<' '<<y<<endl; }
};

void main()
{
       point  p1 (10, 10);
       p1.print( );
}

/* Results:
   10 10                    */
其中      point( int vx, int vy) { x = vx; y = vy; }       被称为带参数的构造函数。
构造函数的主要功能是将对象初始化,具体为:
将初始值赋予位于内存栈区空间内的对象的非静态数据成员(不包括该类的静态数据成员)。
构造函数是在建立对象(实例化)时自动被调用的。一般将初始化语句编写在构造函数内,从而在建立对象时达到自动初始化的目的。而且建立不同对象时,能够对不同对象的数据成员赋予不同初始值。
构造函数的特点:
(一)构造函数是类的特殊成员函数,它的名字与类名相同,它不能具有返回值。(一般提到成员函数时,不包括构造函数)
(二)当构造函数的函数定义(即包括函数体的部分)放在类体之外时,其函数原型[说明]应放在类体内。
(三)构造函数可以没有、也可以具有多个参数。
(四)构造函数可以重载。
(五)构造函数不能继承。
(六)当类中没有数据,或当数据不须初始化时,不必定义任何构造函数。这种情况下,建立对象时就不调用任何构造函数。
分享到:
评论

相关推荐

    mfc c++视频笔记

    c++学习,mfc视频 笔记 构造函数:类创建一个变量后,就要为其分配内存空间,该内存空间就是由构造函数来分配的;每个类都必须创建一个构造函数,没有的话,就不能创建对象,如果没有定义构造函数,编译器会默认提供...

    C++学习笔记、常见面试知识点.zip

    C++学习笔记和常见面试知识点,C++11特性,包括多态、虚表、移动语义、友元函数、符号重载、完美转发、智能指针、const和static、数组指针和指针数组、struct内存对齐、enum和union关键字等等。帮助了解C++的特性,...

    学习笔记 c++ 面试

    面试题学习后的一些笔记,构造函数,虚函数,虚继承。

    C++学习笔记

    关于C++类与对象中的构造函数与析构函数,以及作用域与可见性

    C++Primer Plus学习笔记(六)

    类Class的用法 类的构造函数和析构函数 const成员函数 this指针 对象数组

    C++中的vector容器对象学习笔记

    C++中数组很坑,有没有类似Python中list的数据类型呢?类似的就是vector! vector 是同一种类型的对象的集合 ,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的内存。 ...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    leetcode下载-lc_cpp:记录在406用cpp实现leetcode中的题目

    后面是C++学习笔记 引用 -- 别名 也是指针 内联函数(inline) 函数被反复调用,调用函数产生的开销较大 引入内联函数机制 编译器处理对内联函数的调用语句时,将整个函数代码插入到调用语句处,不会产生调用函数的...

    我对C++的总结,涵盖了整个C++的大部分内容

    本文记录了我个人学习C++的总结,内容浅显易懂,适合初学者参考,希望对大家有帮助,也欢迎各位高手指点。 Email:lnwaycool@163.com QQ: 925314011

    C++常用特性原理解析

     这篇笔记从G++编译出的汇编代码出发,对部分C++的常用面向对象特性进行原理性解释和总结,其中包括 引用、类(成员函数,构造函数)、多态(编译时,运行时)、模板与泛型  Here we go!  引用  这是一个...

    leetcode实写构造函数吗-writings:https://www.noobcoding.com/

    实写构造函数吗菜鸟编码 这是我的笔记的回购。 现在活下去! 目标 教:尝试开发一个快速学习的过程,以帮助其他人尽快掌握编程。 专注于speedrun,因此它不能保证有见地的知识,也绝不是全面的。 然而,一些有趣的...

    icoFoam学习笔记

    这可以通过其成员函数objectStream()了解到,当完成了“搭桥”之后,便可通过这一成员函数返回硬盘文件对应的输入流,从而从输入流中读入将要构造的类的相关信息// ( "transportProperties", // 文件名称 runTime...

    java基础笔记

    java初学者的学习笔记,很详细。 目录 0 第一节 7月15日 2 一、 IT行业相关介绍 2 二、C、C++和Java语言的比较 2 三、 JDK基础介绍 2 四、 面向对象与面向过程的比较 2 五、 Java相关介绍 2 六、 Path和Classpath...

    程序员面试刷题的书哪个好-CppNote:笔记

    程序员面试刷题的书哪个好 C++后台开发学习路线 校招形势 在去年结束的秋季招聘中,后台开发或服务器开发的...构造函数 拷贝构造 多态 纯虚函数和虚函数 虚函数实现机制 虚函数表 访问限定符 public、private、prote

    【软件加密_技术内幕】

    [Trial version] DocNet 学习笔记之Anti ILDASM 研究.htm [Trial version] PE 档的基底重定位(Base Relocations).htm [Trial version] PE 格式学习总结(一)-- PE文件概述.htm [Trial version] PE 格式学习总结...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

Global site tag (gtag.js) - Google Analytics