
C++面向对象高级编程
ai_XZP_master
本人计算机专业,主要研究人工智能、计算机视觉、物体检测。
展开
-
C++面向对象高级编程(五)
成员模版成员模板在泛型编程里用得较多,为了有更好的可扩展性,以上图为例,T1往往是U1的基类,T2往往是U2的基类,可以看下面这个例子:通过这种方法,只要传入的U1和U2的父类或者祖类是T1和T2,那么通过这样的方式可以实现继承和多态的巧妙利用,但反之就不行了。这样的方式在STL中用得很多。模版特化正如其名,模板偏化指的是模板中指定特定的数据类型,这和泛化是不同的:当然...原创 2020-03-25 18:49:23 · 434 阅读 · 0 评论 -
C++面向对象高级编程(四)
1、转换函数转换函数类型,没有返回类型。调用operate来转换函数类型可以吧别的东西转换为这种东西。任何Fraction需要被转换为double类型的时候,自动调用double()函数进行转换。如上图所示,编译器在分析double d = 4 + f过程中判断4为整数,然后继续判断f,观察到f提供了double()函数,然后会对f进行double()操作,计算得到0....原创 2020-03-24 18:16:36 · 286 阅读 · 0 评论 -
C++面向对象高级编程(三)
1、staticstatic是存在特定区域2、class template模版3、namespace原创 2020-03-21 17:44:21 · 152 阅读 · 0 评论 -
C++面向对象高级编程(二)
目录深浅拷贝:拷贝赋值函数栈和堆探究new操作:1、分配内存 2、转型 3、构造函数探究delete:1、调用析构函数,delete m_data 2、释放内存探索创建对象的内存分配情况String类深浅拷贝:浅拷贝:a = b;容易导致内存泄漏深拷贝:拷贝赋值函数如果没有自我赋值检测,那么自身对象的m_data将被释放,m_data指...原创 2020-03-20 17:21:24 · 223 阅读 · 0 评论 -
C++面向对象高级编程(一)
目录1、C+代码基本形式2、Header (頭文件) 布局以及class声明3、class template (模板)4、inline内联函数5、access level (訪問級別)6、构造函数初始化7、构造函数重载:构造函数有多种不同的参数传人8、 常量成员函数:最好加入const9、参数传递和返回值都是用const引用10、友元函数:只有朋...原创 2020-03-18 18:03:55 · 373 阅读 · 0 评论