
C++面向对象笔记
侯捷大师《C++面向对象高级编程》笔记
Try1024
曾经沧海难为水
展开
-
(1)基于对象和面向对象
Object Based (基于对象) vs. Object Oriented (面向对象)Object Based : 面对的是单一 class 的设计Object Oriented : 面对的是多重 classes 的设计, classes 和 classes 之間的关系基于对象(Object Based):class without pointer membe...原创 2019-04-04 20:38:04 · 209 阅读 · 0 评论 -
(2)基于对象 —class without pointer members — Complex
相关知识点class template (模板) 简介constructor (ctor, 构造函数)一个变量或对象的数值的设定有两阶段:初始化(initialization),创建新对象的时候执行 赋值(assignments), 对象已经存在,时间点晚一些,效率差一些(对象已经存在,空间已经存在)构造函数初始化列表赋值: 初始化阶段大括号函数体...原创 2019-04-04 21:38:26 · 182 阅读 · 0 评论 -
(3)基于对象 —class with pointer members — String
相关知识点Big Three,三个特殊的函数拷贝构造函数 拷贝赋值函数 析构函数一个class中如果含有指针,就应该自定义实现上面三个函数。class with pointer members 必须有copy ctor和copy op=函数,以实现用户自定义的深拷贝,而不是按编译器默认的浅拷贝。{ String s1("Hello World"); // ...原创 2019-04-04 21:47:01 · 196 阅读 · 0 评论 -
(4)面向对象 —Object Oriented Programming/Design(OOP/OOD)
类和类之间的三大关系•Inheritance (继承) •Composition (组合) •Delegation (委托)Composition (组合),:表示has-a的关系(我里头有一个这种东西:表示has-a)组合关系下的构造和析构:构造(ctor)由内而外进行Container的构造函数首先调用Component的d...原创 2019-04-05 19:38:47 · 199 阅读 · 0 评论 -
(5)泛型编程基础和一些语法特性
目录导读转换函数转换函数 conversion functionnon-explicit-one-argument constructorlike classespointer-like classes 智能指针function-like classes 仿函数template模板class模板function模板成员模板 member templat...原创 2019-05-06 21:44:48 · 749 阅读 · 0 评论 -
(6)对象模型-浅谈
关于vptr和vtbl虚指针和虚表,一个类的对象内存占用什么样的内存?当一个类有虚函数的时候,对象里面就会多一个指针。一个虚函数和一万个虚函数是一样的。 继承会把成员变量继承也会把函数调用权继承下来。一般的函数和虚函数区别。虚拟表中存放的都是指针,虚函数指针。 编译器看见调用虚函数时,采用动态绑定。通过虚指针,查看虚表,再看调用的是哪一个函数。(普通函数调用采用动态绑定)(*...原创 2019-05-07 00:27:01 · 269 阅读 · 0 评论