栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++,基础篇,新司机上路

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++,基础篇,新司机上路

一个空类test 都会默认调用哪些函数?

构造函数 (创建对象的时候)

test(){

}

析构函数 (销毁对象的时候)

~test(){

}

拷贝构造函数 (用一个已经初始化的对象,去初始化一个新对象时)

test(const test &){

}

拷贝赋值函数  (俩个都已经初始化的对象,用一个对象给另一个对象复制的时候)

test &operation(const test &){

}

类和结构体区别:

        类的默认访问权限是private

        结构体的默认访问权限是public

THIS 指针是一个函数的隐形形参,哪个类对象调用成员函数,这个THIS指针就指向谁;

构造函数:实例化对象的时候,给对象申请资源,如分配内存,打开文件等,完成对成员函数的初始化。实例化对象的时候,自动调用构造函数。

构造函数与类同名,没有返回值,默认权限是public,

析构函数:对象消亡的时候,用来释放空间的,

~类名(void){

}        没有参数,所以不支持重载;

拷贝构造:

类名 (const 类名 &){

}

深拷贝和浅拷贝的区别:

浅拷贝是对原始对象属性值的一份精确拷贝,属性如果是基本类型,拷贝的就是基本类型的值,如果是引用就是拷贝的地址。

深拷贝就是从内存中完整的拷贝一个出来,在堆区开辟一个新的空间存放。

浅拷贝属性如果是引用,改变数据对原来的数据有影响,深拷贝改变现在或者原来的数据,对另一方都没有影响;

友元函数:可以访问朋友类中的私有成员

友元类:声明B是A的友元类,那么B中所有成员都可以访问A中的成员

静态成员函数:没有THIS指针,属于整个类,不属于某一个对象,静态成员函数只能访问静态成员变量

单例模式:类的实例化对象只能有一个。

如windows中的回收站,任务管理器只能打开一个。

面向对象的三大特征:(封装,继承,多态)

继承为了多态做准备的,解决了代码复用

B继承了A:

        称A为父类   基类

        B为子类     派生类

class B: public A{

}

子类不会继承父类的构造函数和析构函数,  构造函数和析构函数的调用顺序:

构造函数先调用父类在调用子类

析构函数先调用子类在调用父类

多态是泛型编程:

        使用不变的代码实现可变的而算法

函数重写: 在子类中重写父类函数,要求返回值,函数名,形参列表,必须相同,只是函数体不同.

 函数重写和函数重载的区别:

        函数重载要求形参列表不同,而函数重写要求形参列表必须相同,而且函数重写必须发生在子类和父类中;

多态:

        通过父类的指针或者引用,能够访问子类中重写父类的虚函数

多态的必要条件:

        继承

        虚函数

        子类重写父类的虚函数

        父类指针或引用指向子类对象

模板函数:

template 

T add(T a, T b){

        return a>b?a:b;

}

模板类和模板函数实现的机制?

        二次编译机制

STL: 标准模板库

 vector:

list容器(本质是一个双向带头的链表):

map(联合容器,本质是一个红黑树): 

             

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001413.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号