C++语言(使用类)

小记:对于类的的认识,无论是感性还是理性,都需要记住大量的东西,这一点真的谁也无法避免。我试图以一种形象的,或者漫画的,卡通的方式来介绍C++语言,以便于儿童的理解,C++有异常琐碎的知识点,似乎这些知识点不太容易形象化,具体化,甚至卡通化。稍微一思索,形象化的C++如何才能保持C++编程思想的高度纯净化,一直不好说。这是个两难的问题,C++的学习有一定的难度,无论是记忆上的难度还是理解上的难度,降低C++的学习难度是一件挺好玩的事情,就像在陡峭的悬崖上开辟出了一条栈道,或者能力够的化,可以直接上索道,这样会方便与很多人。我且试试,如何以一种简单的形式描绘出原汁原味的C++。今天这一章主要抽选一部分内容试着进行介绍,没有头绪。为什么看C++感觉枯燥呢?好像缺少武侠小说的爱恨情仇,缺少卡通漫画的诙谐幽默,缺少童话故事的形象深动,对的,这也许就是问题所在吧。(介绍一项事物,我不太喜欢从使用的角度介绍,我喜欢从创造的角度来了解,不要一步一步的告诉我该怎么使用,而应该一步一步的告诉我这玩意儿是如何从无到有,从有到完善的,以及这中间所遇到的困难和相应的解决方法,即设计技术,而不是通用原理。)

正文:

      假设您已明白什么是类和对象,今天介绍一下有关使用类的知识,或者说使用并不准确,这部分内容应该也是属于类特性的一部分。

  

     类是我们自己定义的一种数据类型,它不同于基本数据类型。不同的基本数据类型在表示形式、取值范围、所占内存大小以及可以参与的运算种类等方面各不相同,重点需要关注的是运算种类,这一点并不太难理解,关键是将数据和运算符放一块进行考虑,当声明了一个数据的类型之后,随之也就确定了该数据能使用什么样的运算符进行运算。对于基本数据类型,数据的内部表示和可执行的操作的具体实现都是系统提供的。但对于类而言,则没有那么轻松。

   下面通过对类的了解,应该可以知道,可以对基本数据类型进行+,-,*,/等操作是多么幸福的一件事。那么,如果也想蠢蠢欲动,对自己所定义的类像基本数据类型那样可以进行操作,那就需要自己动手丰衣足食了,这就涉及到所谓的运算符重载,不要被所谓的运算符重载这种噱头给吓倒。

   运算符重载是一种形式的C++多态,允许赋予C++运算符多种含义。就拿“+”来说,它用于整形的计算我们认为是理所当然,这算是一种含义,当我们把它用于类时,即类+类,这算是另一种含义,即是所谓多态,“+”号的多态。

  系统是如何确定使用“+”号的哪种态呢?态嘛,就是“+”号的哪个方法,哪个实现。这主要归功于编译器,在编译时,编译器将根据操作数的数目和类型来决定使用加法的哪种定义。

  例如有一个类Serial,其定义如下:

    class Serial

{

 private:

   int   evening[10];

   int  hours;

public:

  Serial ();

  //Serial   operator+(const  Serial  & t) cnost;

}

Serial  S1,S2,S3;

int  s1,s2,s3;

S1=S2+S3;

s1=s2+s3;

s1=s2+s3这句我们都知道理所当然,应为有系统在后面默默的支持我们。但如果没有Serial   operator + (const  Serial  & t) cnost这句,那S1=S2+S3这句怎么破?这便是”+“号运算符重载。从这也可以看出,我们一直以为平淡无奇的s1=s2+s3这句,其实并没有我们想像的那么简单。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值