博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++复习
阅读量:7066 次
发布时间:2019-06-28

本文共 1599 字,大约阅读时间需要 5 分钟。

一 面向对象(oop)

1.封装

2.继承

基类---->派生类

3.多态:派生类中可能出现与基类同名的方法。

针对基类与派生类同名的方法,派生类要有自己的行为,必须要覆盖基类的方法。

 

二 虚函数

virtual  funname(。。)                // 基类允许实现该方法

纯虚函数:virtual funname()=0     //基类不存在对该方法的实现。

一个类中包含了一个纯虚函数,那么该类叫抽象类。 抽象类不能实例该类的对象。

如果派生类也没有去实现基类中的纯虚函数,那么该派生类也是一个抽象类。

 

三 多态(override)要和函数的重载(overload)区分

1.多态是在存在继承关系的类中,看是否有相同的方法。

2.重载是在一个类中去比较。

a.参数的数据类型不同

b.参数的个数不同

c.方法名一定要相同

 

四. 继承的三种方式

private:
  private   ---------->不能继承
  public    ----------> private
  protected ----------> private

public:

  private   ---------->不能继承
  public    ---------->public
  protected ---------->protected

protected:

  private   ---------->不能继承
  public    ---------->protected
  protected ---------->protected

private:只能在本类中访问私有成员变量或私有的成员函数

public:  任何一个地方都可以访问

protected:本类中可以访问,具有继承关系的类都可以访问

 

五.如果非要在一个类中访问某个类的私有变量或函数

1.采用友元函数

class A

{

friend int funname();  //该函数可以访问A类的私有变量及私有函数

};

2.采用友元类

class A

{

friend class B;                   //B类可以访问A类的私有变量及私有函数

};

 

六.符号重载特点:

1.只是给C++原有符号增加新的功能,并不是创建一个新的符号

2.符号优先级不能改变

3.一元符号仍然是一元符号。

符号重载的方式:

1.成员函数重载

2.友元重载(<< ,>>这两个符号只能通过友元重载)

 

七.引用和指针的区别:

1.引用变量不需要开辟空间,而指针变量肯定占用了空间

2.引用变量一定要初始化,指针变量不要求初始化

3.引用变量初始化后就不能再改变,而指针变量可以重新指向新的地址

引用一般用在函数的参数与返回值:int &  fun(int &a)

 

八.const变量

1.const变量存在静态全局区

2.const变量一定要初始化。

3. const int  *p;      //   *p为常数,p可以指向其他地址

     int   *  const  p;   // 指针p为常数,指向的地址一旦确定就不能修改,p指向的地址里保存的值可以修改。

4.const在类中使用的特点:

a.类里面使用const

int fun() const  // 只在定义时加该关键字,实现不需要该关键字

b.对象使用const(常对象)

1.不能修改该对象中的成员变量

2.常对象只能调用常函数(因为常函数也不修改成员变量);

 

九.static在类中使用

1.静态成员变量只能用在静态函数中

2.静态对象只能调用静态函数

3.静态函数中不能调用非静态函数

static int funname() // 只在定义时使用该关键字,实现时不需要

静态变量和静态方法是属于类自己的,不是属于对象的,在静态方法中不能使用this指针。

转载于:https://www.cnblogs.com/auleaf/archive/2011/09/19/2181354.html

你可能感兴趣的文章
Shell在大数据时代的魅力:从一道百度大数据面试题想到的点滴
查看>>
说说參数传递(泛型托付)
查看>>
CentOS6.10下安装mysql-5.7.24
查看>>
【C#公共帮助类】 ToolsHelper帮助类
查看>>
八皇后问题
查看>>
切蛋糕
查看>>
关于对于CSS的字体单位
查看>>
TCP协议学习总结(上)
查看>>
敏捷 扑克上的时间估算(转)
查看>>
从JDBC程序看为什么需要Mybatis
查看>>
jQuery Ajax
查看>>
压缩感知中的数学知识:稀疏、范数、符号arg min
查看>>
《JavaScript高级程序设计》笔记
查看>>
刚刚在园里看到的一个简单的做连接字符串的方法.
查看>>
JQ_简单瀑布流
查看>>
测试管理-测试问题监控
查看>>
thinkphp的taglib的使用方法
查看>>
tecplot批量导出图片_Fluent 后处理软件Tecplot宏批量处理cas,dat为图片
查看>>
锂电池放空后充不进电_充电锂电池,只几个月不用,为什么就再也充不进电了?...
查看>>
golang mutex 初始化_Golang连接池的几种实现案例
查看>>