c++面向对象高级编程
文章平均质量分 61
Mirevas
这个作者很懒,什么都没留下…
展开
-
侯捷 c++ 面向对象程序设计总结
目录一、类的设计初步类的设计初探,关于不涉及指针的类防卫式声明、头文件布局、inline、访问级别、构造函数对应1、2、3节二、complex类的设计与实现complex类的设计过程const函数、运算符重载、参数传递、返回值传递对应4、5、6节三、String类的设计与实现关于带指针的类的设计构造函数、析构函数、拷贝构造函数、拷贝赋值运算符new和delete对应7、8、9节四、单个类的设计所需的其余知识static、函数模板对应10节五、类与类之间的关系原创 2021-09-25 17:01:05 · 256 阅读 · 1 评论 -
(五) 类与类之间的关系:继承、复合、委托
类与类之间的关系Object Oriented Programming OOPObject Oriented Design OOD类和类之间的关系复合composition继承inheritance委托delegation复合表示has-atemplate <class T, class Sequence = deque<T> >class queue{ ...protected: Sequence c;//底层容器public: //以下完全利原创 2021-09-25 16:54:13 · 433 阅读 · 0 评论 -
(四)static、函数模板
static每个类的对象都有一个默认的this指针,它指向调用成员函数的对象,通过this指针访问对象的数据静态数据一个类只有一份,例如银行账户类中的利率设计为静态数据静态函数没有this指针,不能像一般的成员函数那样去访问类数据,只能处理静态数据class Account{public: static double m_rate;//利率的声明 static void set_rate(const double& x){ m_rate = x;}//设置利率};double原创 2021-09-24 20:24:01 · 350 阅读 · 0 评论 -
(三)带指针的String类的设计与实现、堆栈与内存管理
string类的框架//string.h#ifndef __MYSTRING__#define __MYSTRING__class String{ ...};String::function(...)...Global-function(...)...#endifstring类的设计class String{public: String(const char* cstr = 0); String(const String& str); String&原创 2021-09-24 16:57:23 · 208 阅读 · 0 评论 -
(二)const、参数传递、返回值传递、类设计中的细节
class complex{public: complex(double r = 0, double i = 0):re(r), im(i){} complex() : re(0), im(0){} //不能通过编译,会有二义性 //当构建一个无参的complex对象时,第一个构造函数有缺省值,故二者均为候选函数,编译器无法确定到第调用哪个 complex& operator += (const complex&);//传加const的引用,传入的数据不能被改变 double原创 2021-09-24 01:12:57 · 104 阅读 · 0 评论 -
(一) 防卫式声明、头文件布局、inline、访问级别、构造函数
内联函数inlineinline函数运行速度快所有在类中实现的函数均是inline函数,但是最终是否成为inline函数是看编译器的实现。编译器会将较简单的函数实现为inline。在类中实现函数,或在类外实现函数且加inline修饰词,表示希望该函数为inline函数访问级别private、public所有的数据均为private需要提供给外界使用的函数为public为了实现很好的封装,数据要通过类的public函数被访问或修改如果有些函数并没有打算被外界调用,仅仅是在内部做一些处理原创 2021-09-23 09:39:19 · 110 阅读 · 0 评论