自定义博客皮肤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++面向对象编程<十三>:template和reference

class template 、function template以及member template; class template 和 function template前面的文章讲过member template在标准库很多构造函数会出现。 语法如下 class就是个模板,而成员里还有个模板。T1、T2可以变化,U1、U2也可以变化。 见下面栗子(还是图比较清楚能描述意思) 再

2016-02-25 21:03:19 867

原创 C++面向对象编程<十二>转换函数、explicit、class几种表现形式

conservation function,转换函数一个class类型转换为另外一个类型,如下例子#include <iostream>using namespace std;class Fraction{ public: Fraction(int num, int den=1) : m_num(num), m_den(den) {} oper

2016-02-24 21:17:50 700

原创 C++面向对象编程<十>:虚函数与多态

Inheritance with virtual functions继承主要需要搭配虚函数,见如下三种关系: non-virtual函数:你不希望derived class override(重新定义,重写)它; virtual函数:你希望derived class override(重新定义,重写)它,且你对它已有默认定义; pure virtual函数:你希望derived class一定

2016-02-23 22:01:08 833 3

原创 C++面向对象编程<九>:面向对象-类之间的关系

OOP面向对象:类与类之间的关系,分为三种:Inheritance(继承)、Composition(组合)、Delegation(委托) **基于对象:单一类的封装Composition组合,表示has-a关系看一个栗子,如图此class里有(has-a)deque,常用图来表示类之间的关系。 上面这张图包含一种设计模式:Adapter(适配),含义如下: 已经有deque,但客户需要queu

2016-02-23 20:46:45 872 2

原创 C++面向对象编程<八>:小练习之Big three函数

问题描述为 Rectangle 类实现构造函数,拷贝构造函数,赋值操作符,析构函数。 如下class Shape{ int no;}; class Point{ int x; int y;}; class Rectangle: public Shape{ int widt

2016-02-23 12:47:03 528

原创 C++面向对象编程<七>:堆栈、类模板、函数模板及其他补充

stack堆、heap栈stack:所谓栈就是存在于作用域的一块内存空间,如当你调用函数,函数本身就会形成一个stack用来放置它所接受的参数及local object,以及返回地址; heap:指操作系统提供的一块global内存空间,程序可能动态分配空间,并取得,并且要自己释放。 如下class Complex {...};...{ Complex c1(1,2);

2016-02-22 21:19:32 559

原创 C++面向对象编程<六>:Big Three,三个特殊函数

简介这里看class的另一个分类:class with pointer members. 先看String的声明#ifndef _MYSTRING_#define _MYSTRING_class String{ public: String(const char* cstr = 0); String(const String& str);

2016-02-22 15:47:57 1331

原创 C++面向对象编程<五>:小练习-Date类

问题描述为Date类实现如下成员: 1. 构造器,可以初始化年、月、日。 2. 大于、小于、等于(> 、< 、==)操作符重载,进行日期比较。 3. print() 打印出类似 2015-10-1 这样的格式。然后创建两个全局函数: 1. 第1个函数 CreatePoints生成10个随机的Date,并以数组形式返回 2. 第2个函数 Sort 对第1个函数CreatePoints生成的结

2016-02-22 12:13:30 1230 1

原创 C++面向对象编程<四>:类comlpex的完整代码

这里给出完整代码#ifndef __MYCOMPLEX__#define __MYCOMPLEX__class complex; complex& __doapl (complex* ths, const complex& r);complex& __doami (complex* ths, const complex& r);complex& __doaml (complex*

2016-02-21 23:31:39 820

原创 C++面向对象编程<三>:操作符重载

操作符重载-成员函数先看程序inline complex& _doapl(complex* ths, const complex& r) //do assignment plus { ths->re += r.re; ths->im += r.im; return *ths;}inline complex& complex::operator += (const co

2016-02-21 23:21:12 690

原创 C++面向对象编程<二>:构造函数

前置声明class complex;类的前置声明只是告诉将类的名称编译器,并未提供class的任何其他信息,因此前置声明使我们得以使用类的指针和引用,而不能使用类的对象,如下complex *p = 0; //定义一个类指针(class pointer)void func(const complex& ); //以complex作为数据型别但这样用就会出错complex obj;头文件声明

2016-02-21 22:55:00 587 1

原创 C++面向对象编程<一>:简介

C++历史 C++有不同的版本,如C++89,C++11等,当然如今应用最广的是C++89。其中C++由C++语言和C++标准库组成的,标准库是很重要的部分。目标 学会写基于对象(Object Based )和面向对象(Object Oriented),简单的说: 基于对象就是面对单一的class的设计 面向对象是多重class的设计,得注重考虑类与类之间的关系。 class的两个经典分

2016-02-21 20:20:31 577

空空如也

空空如也

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

TA关注的人

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