- 博客(7)
- 收藏
- 关注
原创 虚函数_指针的强转会做什么
对一派生类取地址,再把地址强转为基类的指针后赋值给基类指针;在调用虚函数时,使用的是基类的函数声明,执行的是派生类函数里的内容
2022-06-18 15:44:28
104
原创 log4cpp
1、熟悉log4cpp的用法,动手敲代码 http://blog.youkuaiyun.com/liuhong135541/article/category/1496383 #include<log4cpp/PatternLayout.hh> #include<iostream> #include<log4cpp/OstreamAppender.hh> #include<log4cpp/RollingFileAppender.h
2021-07-04 11:49:59
155
原创 友元及重载
1、什么是友元?友元的存在形式有?友元有何特点? 友元是放在类中,使其可以访问类的私有成员的函数或类; 友元分为友元函数和友元类; 友元可以访问类的私有成员,放在类中不受类的public,private,protected的影响。 2、运算符重载的原则是什么?有哪些规则? **原则:**是对新类型数据的实际需要对原有的运算符进行的适当改造,重载功能应相应的与原有功能相似,避免没有目的地使用运算符重载; **规则:**1.不能凭空臆造一个运算符; 2.原有的运算符的优先级和结合性不改变; 3.不改变运算符用法
2021-07-04 11:47:48
387
原创 单例自动释放及string区分读写
1、实现Line类的PIMPL模式 #include<iostream> using std::cout; using std::endl; using std::cin; class Line{ public: Line(int ,int ,int ,int); ~Line(); void Lineprint()const;
2021-07-04 11:45:07
212
原创 多态一些概念
1.什么是多态?虚函数的实现原理是什么? 多态:针对同一指令,不同对象表现不同; 虚函数实现原理:当基类定义一个虚函数时候,就会在基类对象的存储布局之中产生一个虚函数指针(vfptr),该虚函数指针指向基类自己的虚函数表(虚表),虚表中存放的是虚函数的入口地址,当派生类继承基类的时候,就会在派生类对象的存储布局中产生一个虚函数指针(vfptr),该虚函数指针指向派生类的虚函数表(虚表),该虚表存放的是派生类的虚函数入口地址。 2.不能设置为虚函数的函数有哪些?构造函数能设置为虚函数吗?为什么? 不能设置为虚
2021-07-04 11:29:10
72
原创 STL概念
1、STL包括哪些组件?各自具有哪些特点? 算法:用来操作容器中数据的模板函数; 容器:有序列式容器、关联式容器和无序关联式容器三种,是可容纳一些数据的类模板; 迭代器:和指针功能很像,通过重载一元的“*”和“->”来从容器中间接地返回一个值; 仿函数:重载了“()”操作符的struct; 适配器:是接口;对容器、迭代器和算法进行包装,只是不依赖于具体的标准容器、迭代器和算法类型;可理解为容器、迭代器、算法的模板; 空间配置器:负责对象的创建与销毁,内存的获取与释放。 2、STL中的容器包括哪些?各自
2021-07-04 11:08:15
241
原创 两种单例模式的创建方式
两种单例模式的创建方式: 1.对象放在堆上 步骤:1).将构造函数私有化; 2).在类中定义一个静态的指向本类型的指针变量; 3).定义一个返回值为类指针的静态成员函数。 //最好析构函数设为私有 #include<iostream> using std::cout; using std::endl; class Singleton{ public: static Singleton *getInstance(){//创建对象并获取指针 if(nullptr
2021-05-10 21:39:29
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人