类和对象

本文深入探讨了C++编程语言如何解决大型程序设计的挑战,详细介绍了对象、属性、行为、抽象、类与对象的关系,以及面向过程与面向对象编程的区别。通过解析成员访问限定符、内置函数、this指针等关键概念,揭示了C++中类与对象的存储方式及成员函数的特殊性。

C++就是为了解决编写大程序过程中的困难而产生的;

对象(object)

任何一个对象都应具备两个要素:属性(attribute)和行为(behavior)

抽象的作用是表示同一类事物的本质;

类时对象的抽象,对象是类的具体表现;

面向过程的结构化程序设计中:

程序=算法+数据结构

面向对象程序设计就是把一个算法和一组数据结构封装在一个对象中:

对象=算法+数据结构

程序=对象s+消息

消息的作用就是控制对象;


类时抽象的,不占用内存;对象是具体的,占用存储空间。

class 类名

{private:

    私有的数据和成员函数;

public:

    公用的数据和成员函数;

}

private和public称为成员访问限定符,private成员只能被本类中的成员函数引用,类外不能调用;

public成员既可以被本类中的成员函数所引用。

也可以在类体中只写成员函数的声明,而在类的外面进行函数定义;

“::”是作用域限定符,用它声明函数是属于哪个类的


inline成员函数:

调用一个函数的时间开销远远大于小规模函数体中全部语句的执行时间;为了减少时间开销,如果在类体中定义的成员函数不包括循环等控制结构,C++系统会自动将它们作为内置函数来处理,直接把函数代码嵌入程序的调用点。

C++要求对一般的内置函数要用关键字inline声明,但对类内定义的成员函数,可以省略inline,因为这些成员函数已被隐含的指定为内置函数。

应该注意的是,如果成员函数不在类体内定义,而在类体外定义,系统并不把它默认为内置函数。如果想将这些成员函数指定为内置函数,应当用inline作显示声明。


成员函数的存储方式:

一般情况下,不同对象的数据存储单元中存放的数值是不相同的,而不同对象的函数的代码是相同的,为了节约存储空间,每个对象所占用的存储空间只是该对象的数据部分所占用的存储空间,而不包括函数代码所占用的存储空间。

不同对象使用的是同一个函数代码段,它怎么能够分别对不同对象中的数据进行操作呢?

C++专门为此设立一个this指针,用来指向不同的对象,当调用stu1的成员函数时,this指针就指向stu1,成员函数访问的就是stu1的成员








评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值