《C++程序设计案例教程》笔记之类和对象

1.成员函数的特性:

一般成员函数可以重载,构造函数也可以重载,但是析构函数不可以重载。

成员函数如果定义在类体类,则自动成为内联函数;如果定义在类体外,也想定义成内联函数,则需要加 inline.

类的数据成员可以是任意类型的数据,也可以是对象,但是只允许是其他类的对象,而不允许是自有函数原型语句。

在类体内对数据成员定义时,不允许初始化。

当在类体外定义成员函数时,必须在类体内有函数原型语句。

2.对象的定义和使用

类是一种类型,不占用内存空间,定义对象时,会分配相应的存储空间。

对象中只存放数据成员,成员函数不存放在对象中,而是存放在一个可悲对象访问的公共区域中。

3.构造函数和析构函数

         程序中一般不直接调用构造函数,而是由系统在创建对象时自动调节执行。

         拷贝构造函数具有一般构造函数的功能,其作用是使用已知对象给所创建的对象进行初始化。拷贝构造函数只有一个参数,并且是对某一个对象的引用,如果一个类中没有定义拷贝构造函数,则系统自动提供一个默认的拷贝构造函数。

         对象作为函数实参传递给函数形参,调用拷贝构造函数初始化形参对象P,当函数调用结束时,释放形参对象P。

           函数返回值为对象,执行return P时,系统调用拷贝构造函数利用对象P创建并初始化一个无名对象,函数返回时将无名对象的值赋给对象P1,让后释放无名对象。  

4.静态成员

           不论有多少个属于类的对象,其静态成员在内存中只有一个备份,为类中所有对象共享。

           对静态数据成员的初始化必须在类外进行。静态数据成员不属于某个对象,在给对象分配存储空间时,不包括静态数据成员所占的空间。自要定义了静态数据成员,即使没有定义对象,静态数据成员的空间也被分配。可以通过对象引用,也可以通过类引用。

常对象中的成员,并不是自动转化成常成员函数或者常数据成员。

const 是函数类型的一部分,在函数声明和函数定义部分都要有此关键字。const 是用于判断函数重载的条件。

常数据成员通过构造函数的初始化列表进行初始化,而静态常数据成员的初始化在类体外完成。

5.指向类的数据成员的指针和指向类成员函数的指针。

利用赋值语句对对象进行赋值时,系统先调用构造函数创建无名对象,再将其值赋给被赋值对象,然后调用析构函数,将无名对象释放。

当在一个类中出现了子对象时,该类 的构造函数就要负责子对象的初始化,子对象的初始化应该通过构造函数的初始化列表来完成。

6.友元函数可以访问类中的私有成员,但是不尅直接引用数据成员,而必须通过对象来引用。通常友元函数的参数是对象的引用。

   当一个类是另一个类的友元类时,该类中的所有的成员函数都是这个类的友元函数。

7.类的作用域和对象的生存期

全局对象定义在某个文件中,生存期最长,作用域最大。

   全局对象的定义在函数体外,定义时不加修饰符。在某个文件中定义的全局对象,而在其他文件中使用时应该用extern来声明。




第1章 C#入门 1.1 NET框架和C#语言简介 1.1.1 NET框架简介 1.1.2 认识C≠语言 1.2 Visual Studio.NET集成开发环境简介 1.2.1 VS.NET起始页 1.2.2 VS.NET集成开发环境 1.2.3 窗口布局调整 1.3 第一个控制台应用程序 1.3.1 案例说明 1.3.2 案例实现步骤 1.3.3 代码及分析 1.3.4 相关知识及注意事项 1.4 我的第一个Windows窗体应用程序 1.4.1 案例说明 1.4.2 案例实现步骤 1.4.3 代码及分析 1.4.4 相关知识及注意事项 1.5 本章小结 1.6 习题 第2章 C#语法基础 2.1 C#语言的数据型 2.1.1 案例说明 2.1.2 代码及分析 2.1.3 相关知识及滓意事项 2.2 C#语言的运算符和表达式 2.2.1 案例说明 2.2.2 代码及分析 2.2.3 相关知识及注意事项 2.3 本章小结 2.4 习题 第3章 C#程序结构 3.1 顺序与选择结构 3.1.1 案例说明 3.1.2 代码及分析 3.1.3 相关知识及注意事项 3.2 选择结构的窗体应用 3.2.1 案例说明 3.2.2 案例实现步骤 3.2.3 代码及分析 3.2.4 相关知识及注意事项 3.3 while、do.while循环 3.3.1 案例说明 3.3.2 代码及分析 3.3.3 相关知识及注意事项 3.4 for循环 3.4.1 案例说明 3.4.2 代码及分析 3.4.3 相关知识及注意事项 3.5 本章小结 3.6 习题 第4章 方法 4.1 方法的定义与调用 4.1.1 案例说明 4.1.2 代码及分析 4.1.3 相关知识及注意事项 4.2 方法的嵌套调用 4.2.1 案例说明 4.2.2 代码及分析 4.2.3 相关知识及注意事项   …… 第5章 与对象 第6章 数组和索引器 第7章 继承 第8章 多态 第9章 接口 第10章 异常处理 第11章 委托和事件 第12章 文件操作 第13章 课程设计 参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值