随笔分类 - 005_C++
摘要:原文:各种数据类型在16位、32位和64位系统下所占字节差异简介 编写C、C++程序时需要考虑每种数据类型在内存中所占的内存大小,即使同一种数据类型在不同平台下所占内存大小亦不相同,具体对比如下:
阅读全文
摘要:1. 清除数组,初始化数值 头文件:#include <memory.h>或 #include <string.h>函数原型:memset(void *s,int ch,size_t n);使用示例:char buff[100];memset(buff, 0, sizeof(buff));将数值bu
阅读全文
摘要:(一)在平时数据传输中很少用到接收中文的情况,但是最近需要用到就花了半天时间来弄弄 (二)接收原理,从现在接收情况分析:一个中文占两个数据的空间,也就是两个十六进制可以转化成为一个中文 (三)示例情况,用Hex Editor来看看中文 “你好”,可以看到四个十六进制数据:0xc4,0xe3,0xba
阅读全文
摘要:(一)首先我们来看非模板程序,函数只是输入不一样的变量就需要构件很多个不一样的函数,那么这样很麻烦,则引入函数模板 1 int& max(int& a, int& b) 2 { 3 return (a < b)? b : a; 4 } 5 6 double& max(double& a, doubl
阅读全文
摘要:(一)参考原文链接:C++多态 (二) 抽象类 在介绍抽象类之前,我们先介绍一下纯虚函数。 1.纯虚函数 在基类中仅仅给出声明,不对虚函数实现定义,而是在派生类中实现。这个虚函数称为纯虚函数。普通函数如果仅仅给出它的声明而没有实现它的函数体,这是编译不过的。纯虚函数没有函数体。 纯虚函数需要在声明之
阅读全文
摘要:多态:一种接口,多种方法(同一种调用方法,根据不同的对象,调用不同类中的函数)静态联编:非虚函数,在编译时确定好动态联编: 1. 对象里有指针,指向虚函数表 2. 通过指针,找到表,调用虚函数 3. 图二 4. virtual来定义为虚函数 (一)首先我们来看静态联编,非多态的程序 1 #inclu
阅读全文
摘要:(一)代码 1 #include <iostream> 2 #include <string.h> 3 #include <unistd.h> 4 5 using namespace std; 6 7 class Sofa { 8 public: 9 void watchTV(void) { cou
阅读全文
摘要:(一)在上一篇012_LINUXC++之_类的继承定义中我们知道在派生类中可以访问public和protectd中的数据 (二)那么我们就可以在派生类中将上面两个中的数据进行权限的修改 (三)程序 1 #include <iostream> 2 using namespace std; 3 clas
阅读全文
摘要:34.类成员函数的重载、覆盖和隐藏区别?答案:a.成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同
阅读全文
摘要:1 #include <iostream> 2 #include <string.h> 3 #include <unistd.h> 4 5 using namespace std; 6 7 class Father { 8 private: 9 int money; 10 11 protected:
阅读全文
摘要:(一)访问控制和继承 公有继承(public):当一个类派生自公有基类时,基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。 保护继承(protected): 当一个类派生自保护基类时,基类的公有和
阅读全文
摘要:(一)面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行时间的效果。 (二)引入继承程序 1 #include <iostream> 2 #include <string.h> 3 #incl
阅读全文
摘要:(一)运算符重载:运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。 (二)实现类不同对象里中变量的相加 (三)程序 1 #include <iostream> 2 #include <string.h> 3 #include <unistd.h> 4 5 usin
阅读全文
摘要:(一)定义:友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意)。 (二)使用非友元函数将两个对象中的变量进行相加 1 #include <i
阅读全文
摘要:(一)看程序 1 #include <iostream> 2 #include <string.h> 3 #include <unistd.h> 4 5 using namespace std; 6 7 class Person { 8 private: 9 static int cnt; /*静态
阅读全文
摘要:(一)构造函数:用来在创建对象时初始化对象, 即为对象成员变量赋初始值 (二)构造函数的命名必须和类名完全相同 (三)更对具体的查看:构造函数 (四)直接分析程序 运行结果 解析上面程序: 1. 当程序运行到四点时候,就会自动调用第一点无参构造函数,打印Person() 2. 当运行到第5点时候,就
阅读全文
摘要:1. 什么是“引用”?申明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声
阅读全文
摘要:(一)直接看代码 1 #include <iostream> 2 using namespace std; 3 int add(int a){ 4 a = a + 1; 5 return a; 6 } 7 int add(int *a){ 8 *a = *a + 1; 9 return *a; 10
阅读全文
摘要:(一)源码下载 (一) 函数的重载:同一个命名函数,通过传入参数的不同,调用不一样的函数 上面程序的运行结果: (二)函数只能通过参数的不一样重载函数,不能通过返回参数的不一样重载函数 运行结果报错 1 #include <iostream> 2 using namespace std; 3 int
阅读全文
摘要:(一)引入namespace原因: 假如有很多跟人共同完成一项工程,工程中难免会有函数定义一样的名称,不可能一个一个的询问这个函数 你定义过了没有,所以引入namespace 1 #include <stdio.h> 2 #include "person.h" 3 #include "dog.h"
阅读全文

浙公网安备 33010602011771号