C++学习零碎知识

contest常量

C语言中的const变量

C语言中const变量是只读变量,有自己的存储空间

C++中的const常量

可能分配存储空间,也可能不分配存储空间  

const常量为全局,并且需要在其它文件中使用

当使用&操作符取const常量的地址

占位符,需要赋值,即使不用;如果用默认值给占位符,调用此函数,可赋值,也可不赋值

引用

/*引用   1、普通引用必须初始化,引用时依赖于某个对象

 2、引用做函数参数时,声明时不需初始化

 3、可以给引用再次添加应用*/

int a =10;

int& b = a;

int &c = b;

cout<<"a="<<a<<"  b="<<b<<"  c="<<c<<endl;

b = 20;

testRefs(a,b);

cout<<"a="<<a<<"  b="<<b<<endl;

int m,n;

testRefs(m,n);

cout<<"m="<<m<<"  n="<<n<<endl; 

常量指针和指针常量

/*常量指针,指向的内存空间不可修改,指向可以修改 const int *p1   */

int a = 10,b = 11;

const int *p1 = &a;

cout<<*p1<<endl;

//*p1 = 20;

p1 = &b;

cout<<*p1<<endl;

/*指针常量,指针的指向不可修改,指向的内存空间可以修改 

int * contst p2   */

int m=20,n=22;

int * const p2 = &m;

cout<<*p2<<endl;

//p2 = &n;

*p2 = 55;

cout<<*p2<<endl;

赋值兼并性原则 

父类指针(引用)指向子类对象 (子类中含有父类没有的东西)

子类对象初始化父类对象 

构造和析构顺序

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

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

多态

多态定义:同样的调用语句,有多种不同的调用方式

多态的条件:

        1、有继承  

        2、有虚函数重写 (在基类中的函数上加virtual关键字,子类可写也可不写)

         3、父类指针(父类引用)指向子类对象

联编

静态联编:在编译器编译阶段,已经决定了函数的调用(不写virtual关键字,是静态联编)

动态联编:在运行阶段,根据具体的对象(具体的类型),执行不同对象的函数,表现为多态

面向对象的三大特性

1、封装突破C函数的概念,用类做函数参数时候,可以使用对象的属相和方法

2、继承代码的服用

3、多态可以提前搭好框架,让后来人直接重写自己的函数,框架自动调用后来写的函数  面向未来

虚函数、纯虚函数、虚析构函数

1、虚析构函数,在析构基类资源时,将派生类的资源也一起析构

2、虚函数 ,只有virtual ;既有定义,也有实现的代码(在.h实现需要virtual关键字,在.cpp中实现是不需要);包含虚函数的可以定义其对象

3、纯虚函数 ,必须有virtual和=0 ;只有定义,没有实现(在.h实现需要virtual关键字,在.cpp中实现是不需要);包含纯虚函数的不可以定义其对象

 


 


 

 

 

 

转载于:https://my.oschina.net/u/1783725/blog/671401

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值