一:      为了惯例具有指针成员的类,必须定义三个复制控制成员:复制构造函数、赋值操作符和析构函数。
 复制构造函数分配新元素并从被复制对象处复制值,赋值操作符撤销所保存的原对象并从右操作数向左操作数复制值,析构函数撤销对象。
重点是:赋值操作符。。。。。。。
~~~~~~
二:重点:操作符重载
-----定义同类之间的加法、减法、赋值等等----
        类的操作符写成    例如 :x类  ,  x&  x::operator =、+、-(等号是复制操作符,加号是加法操作符,减号是减法操作符等等)  之后接(const   x&  a)  ,其中x& a称作类为x的对象a的引用 。  赋值操作符返回类型就是右操作的 对象的形式(我这样写是返回 类的对象的引用形式,也可以返回其他的)。
    操作符重载只是在我们通常所使用的,C++语言所定义的那些符号的前面加上operator标志,然后他们作为一个函数名来进行定义,函数的参数,就是运算符的运算数,函数的返回值,就是运算符的返回值, 其实你把,我们通常见到的那些运算符理解成函数就可以了,C++之所以提出运算符,主要是要与数学中的相关操作对应,并且力求使用方便。但是原理上,仍然 是函数的方法。也就是说,按照这种定义,你可以给运算符定义任何一种操作类型(当然你自然是希望他们完成那种你认为是相似的操作)。
 
格式 :例如一个类 Base
  1. class Base
  2. {
  3. public:
  4. Base();     //构造函数
  5. Base(const Base &);      //复制构造函数
  6. Base &operator=(const Base &);     //重载赋值操作符
  7. ~Base();    //析构函数
  8. ...
  9. private:
  10. ...
  11. };

复制构造函数与重载赋值操作符的参数是一致的,都是该类的const引用类型。

 
三:另一个大问题:C++中的继承问题,一般而言我们的继承主要是指公共继承,也就说如下的派生类定义所示:
  
  1. class Derived : public Base
  2. {
  3. public:
  4. ...
  5. private:
  6. ...
  7. }
类名冒号后面的是用来定义类的继承。

class 派生类名 : 继承方式(public) 基类名

{

派生类的成员

};

继承方式:public、private和protected,默认处理是public 
 
 
四:在复制构造函数中,C++中的基类引用可以绑定一个派生类的对象,如果在允许访问的情况下,采用基类引用可以访问基类的成 员以及派生类的其他成员,采用引用可以复制派生类对象中基类成员的值到新创建的基类成员中,完成一个基类成员数据的填充操作,这时候一个完整的基类对象就 创建完成了。
    

C++的学习笔记1的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. 微软宣布加入机密计算联盟,与谷歌和BAT 等巨头联手保护数据安全

    联盟创始成员还包括阿里巴巴.Arm.百度.谷歌.IBM.英特尔.红帽.瑞士电信和腾讯等科技公司,它提供了一个让行业聚集起来的机会,以促进使用机密计算来更好地保护数据. 建立机密计算联盟的需求源于这样一 ...

  2. ACwing 196. 质数距离

    #include <bits/stdc++.h> using namespace std; , M = ; int v[M]; long long prime[N],prim[N]; ; ...

  3. 测试工具jmeter

    测试工具jmeter http:压力测试 https://www.cnblogs.com/stulzq/p/8971531.html

  4. Java nio 理解

    Java nio 称为Java new IO ,对Java io而言的.他有两个主要的概念:缓存.通道. 在程序中,数据的来源或写入,要么网络.要么硬盘.所有通道分为:文件通道.TCP通道.UDP通道 ...

  5. 部署dashboard

    1.获取k8s版本: 2.访问dashboard的github:https://github.com/kubernetes/dashboard/releases,然后找到对应的版本 3.然后将yaml ...

  6. PHP类知识----clone方法上机实验

    <?php class mycoach { public function __construct($name,$age) { $this->name = $name; $this-> ...

  7. web 9个令人震惊的WebGL示例

    20个使用WebGL和Three.js实现的网页场景 https://www.open-open.com/news/view/9d8136 20个使用WebGL和Three.js实现的网页场景 htt ...

  8. hdu 6059 Kanade's trio

    题 OwO http://acm.hdu.edu.cn/showproblem.php?pid=6059 解 由于每个数字最多是30位,枚举数字每一位考虑, 建一棵记录前缀(位的前缀,比如10拆成10 ...

  9. win.10 禁止自动更新

             ·  Windows 10:“我已经更新完毕,请重启我吧主人!” ·  Windows 10:“好吧,主人在忙,我重启了先~” ·  Windows 10: “正在配置windows ...

  10. Java进阶知识02 Struts2下的拦截器(interceptor)和 过滤器(Filter)

    一.拦截器 1.1.首先创建一个拦截器类 package com.bw.bms.interceptor; import com.opensymphony.xwork2.ActionContext; i ...