C++基本知识归纳(2)

15.常对象(常对象中的数据成员为常变量且必须要有初值)

数据成员的值不能被修改

不能调用常对象的非const型的成员函数

Time const t1(12,34,46);

常数据成员   const int hour;

只能透过构造函的参数初始化表对常数据成员进行初始化

常成员函数 void get_time() const;

常成员函数,只能引用本类中的数据成员,而不能修改它们。

 

数据成员 非const成员函数 const成员函数

const的数据成员  引用+改值 引用

Const数据成员 引用 引用

Const对象的数据成员 引用

 

已定义一个常对象,只能调用其中的const成员函数,而不能调用非const成员函数

常对象中的成员函数未加const声明,编译系统把它作为非const成员函数处理

常成员函数不能调用另一个非const成员函数

 

对象的常引用(实参传值可以改变值)

 

Time const t1; //常对象

void Time::fun() const //funTime类中的常成员函数

Time * const p; //p是指向Time对象的常指针

const Time  *p; //p是指向Time类常对象的指针

Time &t1=t; //t1Time类对象t的引用 

16.对象的赋值

对象名1=对象名2;(属于同一个类)

  对象的复制

类名  对象2(对象1);or  类名  对象名1=对象名2

17.友元(一个类的友元函数可以访问这个类中的私有成员)

class Time

{public:

Time(int,int,int);

friend void display(Time &); //声明display函数为Time类的友元函数

 private:

int hour;

int minute;

int sec;

};

友元的关系是单向的而不是双向的

友元的关系不能传递

A类的定义体中用以下声明

friend   B

18.类模板

template<class  numtype>

class  Compare

{public:

Compare(numtype a ,numtype b)

{x=a;y=b;}

numtype max()

{return (x>y)?x:y;}

numtype min()

{return (x<y)?x:y;}

 private:

numtype x,y;

};

使用时   Compare <int> cmpl(4,7);

19.运算符重载

双目算术运算符 +()-(减)*(乘)/(除)%(取模)

关系运算符: ==(等于) !=(不等于)  <(小于)  >(大于)  <=(小于等于) >=(大于等于)

逻辑运算符: ||(逻辑或)  &&(逻辑与)  !(逻辑非)

单目运算符: +()  -()   *(指针)  &(取地址)

自增自减: ++(自增)  --(自减)

位运算符: |(按位或)  &(按位与)  ~(按位取反) ^(按位异或)  <<(左移)   >>(右移)

赋值运算符: = += -+ *= /= %= &= |=  ^=  <<=  >>=

空间申请与释放 new delete  new[]  delete[]

其他运算符: ()(函数调用)->(成员访问) ->*(成员指针访问) ,(逗号) [](下标)

 

20.继承与派生

继承:一个新类从已有的类那里获得其已有特性

派生:从已有的类(父类)产生一个新的子类

派生类是基类的具体化,基类是派生类的抽象

class  派生类名:  [继承方式]  基类名

{   派生类新增加的成员

继承方式: public   private   protected

基类成员 public  private   protected

私有成员 no no no

公有成员 yes private protected

保护成员 protected private protected

 

21.虚基类(避免二义性,排除同名的出现)

class A 

{........};

class B : virtual public A 

//声明BA的公用派生类,AB的虚基类

22.虚函数

23.纯虚函数

24.输入输出流

25.命名空间

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值