自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 c++primer第十四章c++代码重用(二)

一、保护继承 当派生类中派生出另一个类时,私有继承和保护继承之间的主要区别: 使用私有继承,第三代两类将不能使用基类的接口,是因为基类的公有接口在派生类中将变为私有方法。 使用保护继承时,基类的公有方法在第二代中将变成受保护的,因此第三代可以使用它。 在私有继承或者保护继承时,可以使用using来重新定义访问权限。二、多重继承 多重继承产生的问题: (1)从不同的基类继承同名的方法。

2017-03-31 21:39:25 343

原创 c++primer第十四章--c++代码重用(一)

一、组合 (1)组合是has-a的关系,即创建一个包含其他类对象的类。 (2)使用公有继承时,类可以获得接口,但使用组合时,类可以获得实现,但不能获得接口,一般通过实现来调用类的方法。 (3)将typedef放在类定义的私有部分意味可以在类中使用,explicit可以关闭隐式转换,但可以显示调用。用const可以限制数据的修改。关于组合的初始化和约束: 1、初始化被包含的对象 对于继承的对

2017-03-30 19:18:34 337 1

原创 实现删除字符串中出现次数最少的字符

实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。#include <iostream>#include <cstring>using namespace std;const int MAXSIZE = 20;int Delete

2017-03-29 19:58:31 1289

原创 排序之冒泡排序

冒泡排序是一种交换排序。 什么是交换排序呢? 交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。算法思想它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。 假设有一个大

2017-03-26 16:45:24 248

原创 利用STL容器stack实现一个简单的计算器

规则: #include <iostream>#include <cstring>#include <stack>using namespace std;stack<int>Num;stack<char>Op;const int max_size = 1024;/*将字符串转为int*/ int str2num(char **str){ int temp = 0; w

2017-03-23 15:00:04 406

原创 每日编程(3月22)

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数class Solution {public: bool Find(int target, vector<vector<int> > array) { int r = 0; int c

2017-03-22 19:50:42 178

原创 实现找子串的编程

#include <iostream>#include <cstring>using namespace std;const char * my_strstr(const char *s1,const char *s2){ const char *bp; const char *sp; if( s1 == NULL || s2 == NULL) {

2017-03-19 13:58:45 226

原创 c++primer第十二章读书笔记

本章主要讲解new运算符在各种情况下的使用注意事项。 c++使用new和delete运算符来动态控制内存。一、关于静态成员 (1)静态成员属于类,不属于对象,即在多个对象中只有一个静态成员对象副本。 (2)静态数据成员在类中声明,在包含类方法的文件中初始化。但如果静态成员是const整型类型或者枚举类型,则可以在类声明中初始化。 (3)静态成员函数由于没有this指针,因此只能访问静态成员。

2017-03-15 20:31:46 351

原创 c++之虚函数与多态

一、多态 多态性是指同样的消息被不同类型的对象接收时能导致完全不同的行为。 也可理解为同一个接口,使用不同的实例而执行不同的操作。 多态的实现:函数重载、运算符重载、模板、虚函数静态绑定:(函数重载、运算符重载 、模板) 绑定过程出现在编译阶段,在编译阶段就已确定要调用的函数。 动态绑定:(虚函数) 绑定过程工作在程序运行时执行,在程序运行时才确定要调用的函数。二、虚函数 虚函数的概念

2017-03-11 15:58:20 285

原创 C++读书笔记之类的继承1(第十三章)

1、派生类的对象存储了基类的数据成员。派生类对象可以使用基类的方法。2、继承特性中派生类要添加什么? (1)派生类类需要有自己的构造函数 (2)派生类可以添加成员或方法 (3)构造函数必须给新成员和继承的成员提供数据3、关于构造函数访问权限的考虑(1)今天在书上看到一个关于构造函数为什么不能被继承的原因。构造函数不同意其他类方法,因为它创建新的对象,而其他类方法只有被现有的对象调用。这是构造函

2017-03-03 19:46:47 285

原创 虚继承和虚函数对c++对象存储模型的影响(类/对象的大小)

首先重新回顾一下关于类/对象大小的计算原则: 类大小计算遵循结构体对齐原则 类的大小与数据成员有关与成员函数无关 类的大小与静态数据成员无关 虚继承对类的大小的影响 虚函数对类的大小的影响在g++编译器下的情况一、只出现虚继承的情况#include <iostream>using namespace std;class BB{public : int bb_ ;};cl

2017-03-02 21:43:14 362

原创 c++之继承的理解

面对对象编程继承是为了解决代码的复用性 1.怎么解决代码的复用性? 组合和继承组合:将一个类作为另一个类的对象成员。class A{public: void FunA() { }}class B{public: void FunB() { a_.FunA(); } private: A

2017-03-01 22:28:48 284

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除