
C++
l93919861
这个作者很懒,什么都没留下…
展开
-
C++总结(6)————C++中的多态
1.认识多态多态是指同样的消息被不同类型的对象接受时导致不同的行为,所谓的消息是指对类的成员函数的调用,不同的行为是指不同的实现,也就是调用了不同的函数。在程序设计中多态性使用最简单的例子就是运算符,比如“+”,就可以实现整数之间,浮点数之间,双精度浮点数之间以及它们相互的加法运算。同样的消息–相加,被不同类型的对象-变量接受后,不同类型的变量采用不同的方式进行加法运算。如果是不同类型的变量相加...原创 2019-03-21 22:43:19 · 186 阅读 · 0 评论 -
C++总结(5)————C++中重载、重写(覆盖)和隐藏的区别
转载自:https://blog.youkuaiyun.com/zx3517288/article/details/489760971.基本概念:重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。class A{public: void test(int i); void test(double...原创 2019-03-21 22:28:51 · 146 阅读 · 0 评论 -
C++总结(4)————函数的返回值和引用
1.函数的调用执行过程一个C++程序经过编译以后生成可执行的代码,形成后缀为.exe的文件,存放在外存储器中。当程序启动时,首先从外存将程序代码装载到内存的代码区,然后从入口地址(main()函数的起始处)开始执行。程序在执行过程中,如果遇到对其它函数的调用,则暂停当前函数的执行,保存下一条指令的地址(即返回地址,作为从子函数返回后继续执行的入口点),并保存现场,然后转到子函数的入口地址,执行子...原创 2019-03-21 11:20:02 · 576 阅读 · 0 评论 -
C++总结(3)————拷贝构造函数
这些知识点很多前辈都总结的非常好了,我汇总起来便于查阅。此处我引用了https://www.cnblogs.com/alantu2018/p/8459250.html的内容,在此表示感谢!类对象的复制(或者说赋值)和一般的普通对象不同,因为类对象可以说是类型数据的集合。我们定义了一个类a,如果我们去查类a的地址和大小,那么会发现a的首地址就是数据成员的首地址,a的大小就是所有数据成员所占内存的...原创 2019-03-20 23:42:29 · 277 阅读 · 0 评论 -
C++总结(2)————类中的静态成员函数
这些知识点很多前辈都总结的非常好了,我汇总起来便于查阅。此处参考https://blog.youkuaiyun.com/qq_37375427/article/details/78808900,非常感谢!在上篇类的静态成员变量中,我们获取对象的数目是需要调用getCount这个函数,每次调用都需要某一个对象来调用,比如:gTest.getCount(),那么问题来了,如果整个程序的对象的个数为0呢?那么岂...原创 2019-03-20 22:18:57 · 705 阅读 · 0 评论 -
C++总结(1)————类中的静态成员变量
这些知识点很多前辈都总结的非常好了,我汇总起来便于查阅。此处参考https://blog.youkuaiyun.com/qq_37375427/article/details/78747636,非常感谢!以下程序统计在程序运行期间某个类的对象的数目#include <stdio.h>class Test{private: int mCount; //定义计数对象publ...原创 2019-03-20 21:12:37 · 279 阅读 · 0 评论 -
产生0到100之间的随机数
经常用到的东西,写在这里做个记录.#include "stdafx.h"#include "stdlib.h"#include <iostream>#include <time.h>#include <vector>using namespace std;int _tmain(int argc,_TCHAR* argv[]){ srand...原创 2018-11-30 13:10:46 · 13235 阅读 · 1 评论 -
隐式转化的问题
隐式转化虽然讲起来简单,但在实践过程中却很容易因为疏忽而犯错.比如下面这个程序#include "stdafx.h"#include "stdlib.h"#include<iostream>using namespace std;int _tmain(){ double a=3/2; //a虽然定义成浮点型,但是结果却是1 cout<<a<&l...原创 2018-11-30 11:14:23 · 128 阅读 · 0 评论 -
友元函数的三种实现方式
1.为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元函数:(1)运算符重载的某些场合需要使用友元。(2)...原创 2018-11-30 10:16:12 · 3894 阅读 · 0 评论 -
C++中重载、重写(覆盖)和隐藏的区别
C++中重载、重写(覆盖)和隐藏的区别 转载自:https://blog.youkuaiyun.com/zx3517288/article/details/48976097基本概念:重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。1 class A{2 publ...原创 2019-02-04 09:10:05 · 150 阅读 · 0 评论 -
构造函数的一些需要注意的特性(一)
1.如果一个类,你没有定义构造函数,那么系统默认会有一个无参的构造函数但如果你定义了一个有参的构造函数,为了保证正确性,系统不会创建无参构造函数,这时候,如果你还想允许无参构造,就必须显式的声明一个。#include"stdafx.h"#include<iostream>#include<stdlib.h>using namespace std;class B0...原创 2018-11-22 20:04:02 · 1152 阅读 · 0 评论 -
类的组合及初始化
1.类的组合类的组合描述的就是一个类内嵌其它类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。当创建类的对象时,如果这个类具有内嵌对象成员,那么各个内嵌对象将首先被自动创建。因为部件对象是复杂对象的一部分。因此,在创建对象时既要对本类的基本类型数据成员进行初始化,又要对内嵌对象成员进行初始化。组合类构造函数定义的一般形式是类名::类名(形参表):内嵌对象1(形参表),内嵌对象...原创 2018-11-19 22:39:22 · 1988 阅读 · 0 评论 -
虚函数和友元的一些总结
1.虚函数的一些特性虚函数也有重载#include&amp;amp;quot;stdafx.h&amp;amp;quot;#include&amp;amp;quot;stdlib.h&amp;amp;quot;#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;usingnamespace std;class Base{public:virtua原创 2018-11-21 22:10:31 · 476 阅读 · 0 评论 -
谈谈类的继承与派生
类的派生和继承都是很基础,很老生常谈的知识。但是在实际编程过程中,却会发现很多概念自己并没有完全搞清楚。因此在这里结合自己的编程实践,再将这方面的知识整理下。1.派生类1)派生类的定义class 派生类名:继承方式 基类名1,继承方式 基类名1,…继承方式 基类名n{派生类成员声明;};一个派生类只有一个直接基类的情况,称为单继承。有多个基类的情况,称为多继承。继承方式的关键字为:...原创 2018-11-20 23:21:47 · 514 阅读 · 0 评论