一 构造成员函数

1 构造成员函数:如果没有声明定义自己的构造函数,自动产生默认的构造函数,函数体为空。

2 构造函数参数列表:创建对象时就初始化参数列表,而构造函数体内方法只有对象创建完成后才调用。

构造函数初始化列表初始化作用:(1)初始化成员常变量 (2)调用父类的构造法。

(2)调用父类的构造法:参数列表中调用基类的构造函数。

Derived(double dValue=0.0, int nValue=0)  : Base(nValue),  m_dValue(dValue)   {   }

二 拷贝构造成员函数

拷贝构造函数用于对象拷贝的形式,特别是在声明一个对象时采用拷贝的形式,这是对象初始化不是调用构造函数,而是调用自己定义的拷贝构造函数,如果没有定义拷贝构造函数则调用默认的拷贝构造函数。

(1)浅拷贝、深拷贝:

默认拷贝构造函数是一种浅拷贝,而我们自己定义大多是一种深拷贝。如果类中成员变量有指针变量(需要分别一个堆空间,该指针指向该堆空间)那么需要深拷贝,明如下:

#include <iostream>
#include <cstring>using namespace std;class Complex
{
public:Complex(int r, int i,const char*p):real(r), image(i){cout<<"构造函数"<<endl;Ptr = new char[12];strcpy(Ptr, p);}~Complex(){cout<<"析构函数"<<endl;delete []Ptr;}void show(){cout<<Ptr<<"("<<real<<","<<image<<")"<<endl;}//拷贝构造方法Complex(Complex &c){real=c.real;image = c.image;cout<<"拷贝构造方法"<<endl;Ptr = new char[12];strcpy(Ptr, c.Ptr);}
private:int real;int image;char *Ptr;
};int main(void)
{Complex A(1,2,"hello");A.show();Complex B=A;B.show();return 0;
}

C++技术——构造法相关推荐

  1. Fredman构造法构造完备哈希

    在刘璟的<计算机算法引论--设计与分析>一书中介绍了几种完备哈希(PHF)构造技术,里面提到了Fredman构造法.这本书是零几年写的比较早,光看书中介绍不太容易理解这一构造法的具体流程, ...

  2. 有参构造法和无参构造法

    有参构造法和无参构造法 为什么需要构造方法? 1.通过一个一个初始化成员变量非常麻烦 Java设计了构造方法 快捷键为alt + shift + s 再按 O 构造方法的格式: [访问权限修饰符] 方 ...

  3. 学习笔记11--局部轨迹直接构造法

    本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...

  4. 机器人雅可比矩阵的求法_构造法

    机器人雅可比矩阵的求法_构造法 雅可比矩阵对于机器人运动学逆解.静力学分析和动力学分析有重要意义,是机器人位置\力控制的基础.这篇文章主要讲如何用构造法求解雅可比矩阵. 上一篇文章中讲到,D-H矩阵中 ...

  5. 《算法设计编程实验:大学程序设计课程与竞赛训练教材》——2.3 构造法模拟的实验范例...

    2.3 构造法模拟的实验范例 构造法模拟需要完整.精确地构造出反映问题本质的数学模型,根据该模型设计状态变化的参数,计算模拟结果.由于数学模型建立了客观事物间准确的运算关系,因此其效率一般比较高. 构 ...

  6. 技术玩法大升级,网易MCtalk揭秘社交产品背后的秘密

    随着互联网和科学技术的发展,自媒体.数据.和机器算法重构了内容分发,改变了娱乐产品.社交产品的格局.在新技术业态下,社交风口不断涌现,除了微信.QQ等行业巨头外,各类细分场景的APP也逐渐开始呈现崛起 ...

  7. 【编译原理】:NFA转变为DFA的子集构造法

    整体的步骤是三步:  一,先把正规式转换为NFA(非确定有穷自动机),  二,在把NFA通过"子集构造法"转化为DFA,  三,在把DFA通过"分割法"进行最小 ...

  8. LL1分析构造法_16条数学得分法,想提分快来看!

    距离高考不足百日,在注重数学基础的同时,也要注重技巧,好迅速拿分,今天送同学们一份数学得分法,帮助同学们最大限度得分,在高考中取得最高分! 1.圆锥曲线中最后题往往联立起来很复杂导致k算不出,这时你可 ...

  9. LL1分析构造法_行测技巧:比较构造法两步轻松解决方程题

    所谓比较构造法,指的是对同一事物进行两种不同维度的描述,通过找到其中的差异,从而构造等量关系.定义当中有两个非常重要的要点需要着重把握. 一.应用环境:同一事物.两种不同维度的描述 比较构造法最主要的 ...

最新文章

  1. Linux-鸟菜-5-目录配置-FHS
  2. 微信小程序-控制文本只显示若干行多余隐藏
  3. 学习 WCF (3)--开发WCF客户程序
  4. [机器学习] 半监督学习---伪标签Pseudo-Label
  5. IIS 6.0支持.SHTML
  6. 马逊s3云存储接口_当对象存储“湖”有了强一致性
  7. 【新功能】MaxCompoute禁止Full Scan功能开放 1
  8. 数据科学近3年都应用在哪些领域?
  9. http get和post的区别
  10. EasyTouch的使用
  11. tomcat-9.0.20部署的问题及性能监控
  12. NIO 网络编程之群聊系统
  13. 什么样的固定资产管理系统才能满足企业需求
  14. win10 uwp 打电话
  15. 【编程题】构造两两相邻数之和为奇数的矩阵
  16. 序列化版本号(serialVersionUID)是做什么用的
  17. word锁定:解决Word文档由于文档保护而无法修改、查找、编辑的方法
  18. matlab系统函数伯德图,利用matlab画出根轨迹图|伯德图bode
  19. 无人驾驶汽车的工作原理
  20. mybatis-plus-generator3.5.1的用法

热门文章

  1. 客户旅程分析 Customer Journey Mapping
  2. 手动编译kernel和supplicant使树莓派支持wpa3
  3. matlab模糊建模设计,毕业设计matlab建模
  4. 洲际酒店集团与南方航空宣布会籍匹配计划
  5. 腿部建模布线解析—3D角色建模师必了解的人体结构
  6. Java如何设置word中某段文字的字体/段落样式
  7. 寒武纪MLU270安装运行Pytorch yolov3实录
  8. 手把手教你用熵值法计算权重
  9. 看蘑菇街发展历程全面解析
  10. 1.静态方法只能访问静态成员(包括变量和方法不能直接访问实例成员,除非使用对象调用2.实例方法既可以访问静态成员,也可以访问实例成员