初学C++ 产生的疑惑

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:43:48
你好,我是一个C++初学者,我刚刚接触到了类。

我最近感到十分的疑惑……

1、关键词this有什么用啊?为什么友员函数中不能使用this指针(请从原理上分析一下)?为什么要在类的成员函数中使用this指针(在类中 return this->i 与 return i 中的this好像有些累赘)?

2、我越学C++越疑惑,我接触到了类,可是我总觉得,定义一个子函数与局部变量,似乎比定义一种新的数据类型(类与成员函数)要简单,而且易于理解。-_-我到现在还无法体会到面向对象的C++的优越性。请问C++的面向对象到底是什么意思啊?为什么我定义一种新的数据类型(类)对编程会有非常大的好处?

PS:这个问题一直困扰着我,使我一直无法真正的运用类,因为我总想用建立一个子函数来处理可以运用类来解决的问题。如果您能解决我这个问题,并能提供我一些运用类解决问题的实例,我将不胜感激,并会尽可能的给您加分的。谢谢了。

1.在指向不明的情况下,用this可以表示指向自己,即类中的成员变量或者函数

比如类中定义了成员函数i,而在类中的某个成员函数中也出现了局部变量i,那么哪个是类中的i,哪个是成员函数里的i,就要区别了,什么都不加的是函数里的变量,加了this的就是类的成员变量

2.类用来描述某一样东西,把这样东西的某些属性和某些方法定义在类里,以后用来操作和扩展,对于稍微复杂一些的问题,不是函数可以描述的

比如,程序里要出现一个窗口,这个窗口多大,什么颜色,能不能拖动,有些什么按钮,怎么刷新,怎么最大化之类的,都被定义在了相关的类中,进行操作
要发送一个数据包,这个数据包是结构是什么,怎么把它装在另外一个数据包内,这些也都是已有的定义好的类和方法可以用的

如果这些东西都事先完全没有人定义,那么,你觉得用什么办法来表述它们,用怎么样的过程来实现要求的功能呢,你可能写了一大堆东西把自己都弄糊涂了

使用类,就可以先把大的框架搭好,然后充实里面的细节,或者定制一个常用的东西,以便重复使用.这就是模块化编程的好处

------

说的有点乱,不过大概意思是这些

我初学的时候也是这样的困惑
不过我学PHP时,制作一个用户注册的页面时候,写一个注册类就可以了,好方便。我可以在类里定义内部的各种变量而不会把自己搞晕。定义各种函数来处理注册信息。而且很安全。
一个大的工程可以分配给100个程序员一人写一个类,然后由总策划来整合一个大的工程。
当然 类的功能很强大 说不完的
如果你了解一下MFC的结构,你就会明白没有类,如何构成那么复杂的……

this指针是一个隐式的指针,所有类的成员函数相当于都有一个额外的参数,这个参数就是this指针,这也是实现类的成员函数的原理。

面向对象的优势在于你可以把函数封装在类中,你可以想象一个全局的函数包含了N个参数和一个只包含少数参数的多个类成员函数相比是多么的累赘。而当你学习并理解了虚函数后,你就会真的体会到面向对象的优越性。c++通过对象做到了某种意义上的“统一”。

以上都是我自己的看法