首页 > 编程语言 >C++/ 4/11 学习内容

C++/ 4/11 学习内容

时间:2023-04-11 22:33:20浏览次数:41  
标签:11 函数 继承 子类 成员 C++ 学习 抽象类 父类

  • 空指针调用结构体中的成员函数
  • const 修饰成员函数,不能更改函数成员的值
  • 友元, 让朋友可以访问本类的私有变量,  * 全局函数做友元 * 类做友元 * 成员函数做友元
  • 运算符重载:注意格式就ok
  • 还有<< 这个输出时候的重载,  各种个样的函数重载,主要是为了方便,在主函数里面的实现
  • 继承: 相当一个树的结构  class A : public B;  
  • 3中继承方式, 就是把 public  private protected 再次加以限制而已
  • 继承同名成员处理方式, (静态和非静态同样)
  •     //当子类与父类拥有同名的成员函数,子类会隐藏父类中所有版本的同名成员函数     //如果想访问父类中被隐藏的同名成员函数,需要加父类的作用域
  • C++允许**一个类继承多个类**   **C++实际开发中不建议用多继承**
  • class Son : public Base2, public Base1
  •    
    * 菱形继承带来的主要问题是子类继承两份相同的数据,导致资源浪费以及毫无意义 * 利用虚继承可以解决菱形继承问   多态: 
    * 静态多态的函数地址早绑定  -  编译阶段确定函数地址 * 动态多态的函数地址晚绑定  -  运行阶段确定函数地址 //我们希望传入什么对象,那么就调用什么对象的函数 //如果函数地址在编译阶段就能确定,那么静态联编 //如果函数地址在运行阶段才能确定,就是动态联编 //函数前面加上virtual关键字,变成虚函数,那么编译器在编译的时候就不能确定函数调用了。 //多态满足条件: //1、有继承关系 //2、子类重写父类中的虚函数   当类中有了纯虚函数,这个类也称为==抽象类==
    **抽象类特点**:
     * 无法实例化对象  * 子类必须重写抽象类中的纯虚函数,否则也属于抽象类  
    ​   1. 虚析构或纯虚析构就是用来解决通过父类指针释放子类对象
    ​   2. 如果子类中没有堆区数据,可以不写为虚析构或纯虚析构
    ​   3. 拥有纯虚析构函数的类也属于抽象类                        

标签:11,函数,继承,子类,成员,C++,学习,抽象类,父类
From: https://www.cnblogs.com/Lamboofhome/p/17308116.html

相关文章

  • Code-C++-Linux-统计一个文件夹占据空间大小
    Code-C++-Linux-统计一个文件夹占据空间大小https://my.oschina.net/Tsybius2014/blog/330628从以上链接中拷贝的代码#include<stdio.h>#include<sys/stat.h>#include<sys/types.h>#include<unistd.h>#include<stdlib.h>#include<dirent.h>#incl......
  • C++ 按照字典序实现combination
    C++按照字典序实现combination引言C++STL提供了permutation相关的函数(std::next_permutation和std::prev_permutation),但是没有提供combination相关的函数,本文将基于字典序的方法实现一个combination相关的函数。算法回顾1.permutation用法C++的permutation是基于字典序实......
  • Javaweb-登录界面-filter配合案例-2023-04-11
    1、新建login.jsp登录界面响应的路径<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>Login</title></head><body><h1>登录界面</h1><hr><form......
  • 「Solution Set」4.11 小记
    P3642[APIO2016]烟火表演我不太会证明凸性。像这道题就是列出DP方程,\(f_{u,x}\)表示以\(u\)为根的子树还有\(x\)分钟就全爆炸的最小代价。然后赌它是个凸函数((因为它有\(sum\),就是两个下凸函数相加,还是下凸的。然后求前缀的最小值再加一个函数一类的,所以考虑之后这......
  • C++复习第五天(封装)
    封装练习,设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示姓名和学号。#include<iostream>#include<string>usingnamespacestd;classStudent{public://类中的属性和行为,我们统一称为成员stringm_name;intm_Id;voidshowStudent......
  • 4.11每日总结
    昨天的河北省科技政策查询系统需求项目没有整出来总记录,老师没让通过。今天又修改了一下    packagecn.itcase.dao.impl;importcn.itcase.dao.UserDao;importcn.itcase.domain.User;importcn.itcase.util.JDBCUtils;importorg.springframework.jdbc.core.Be......
  • 4月11号总结
    --删除tb_user表DROPTABLEIFEXISTStb_user;--创建tb_user表CREATETABLEtb_user(idint,usernameVARCHAR(20),passwordVARCHAR(32));--添加数据INSERTINTOtb_userVALUES(1,'zhangsan','123'),(2,'lisi','234......
  • day42(2023.4.11)
    1.数据库基本概念2.数据库中,各个概念之间的关系3.数据库分类4.MySQL简介、特点、以及分类 5.下载MySQL   6.MySQL的安装与卸载 7.连接MySQL  8.Navicat工具由于MySQL自带的客户端工具(就是那个黑窗口),有点小小的简陋,也不怎么好看。我们可以......
  • 2023年4月11日(软件工程日报)
    深度学习进步之处由sigmid函数,转变为RELU函数,由于梯度下降原因,sigmid函数后期学习非常缓慢,但relu函数可以避免这种情况损失函数,用于衡量单一训练样例效果 逻辑回归中用到的损失函数是:......
  • 2023.4.11——软件工程日报
    所花时间(包括上课):8h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.学习了python,并了解了一些关于python的知识;2.了解了一些数据库的知识;......