栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 2

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 2

类成员的可访问范围

某个成员前面没有可访问范围关键字,则缺省地被认为是私有成员。

在类的成员函数内部,能够访问:
当前对象的全部属性、 函数;
同类其它对象的全部属性、 函数。

在类的成员函数以外的地方,只能够访问该类对象的公有成员

成员函数的重载与参数缺省

使用缺省参数时要避免函数重载的二义性

构造函数
  • 名字与类名相同,可以有参数,不能有返回值(void也不行)
  • 作用是对对象进行初始化,如给成员变量赋初值
  • 如果定义类时没写构造函数,则编译器生成一个默认的无参数的构造函数
  • 默认构造函数无参数,不做任何操作
  • 如果定义了构造函数,则编译器不生成默认的无参数的构造函数
  • 对象生成时构造函数自动被调用。对象一旦生成,就再也不能在其上执行构造函数
  • 一个类可以有多个构造函数
  • 构造函数最好是public的, private构造函数不能直接用来初始化对象

构造函数在数组中的使用

复制构造函数
  • 只有一个参数,即对同类对象的引用。
  • 形如 X::X( X& )或X::X(const X &), 二者选一后者能以常量对象作为参数
  • 如果没有定义复制构造函数,那么编译器生成默认复制构造函数。
  • 默认的复制构造函数完成复制功能。
  • 不允许有形如 X::X( X )的构造函数。
复制构造函数起作用的三种情况
  1. 当用一个对象去初始化同类的另一个对象时。
CProtoModule c2(c1);
CProtoModule c2 = c1; //初始化语句,非赋值语句
  1. 如果某函数有一个参数是类 A 的对象,那么该函数被调用时,类A的复制构造函数将被调用。
  2. 如果函数的返回值是类A的对象时,则函数返回时,A的复制构造函数被调用。

对象间赋值并不导致复制构造函数被调用

析构函数
  • 名字与类名相同,在前面加‘~’ , 没有参数和返回值,一个类最多只能有一个析构函数。
  • 析构函数对象消亡时即自动被调用。

析构函数在数组中的使用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号