- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1_4类的定义与使用
第一讲 测量程序
设计基础;本次课主要内容:
C++的类定义
类成员函数的实现
实例化类对象及使用
类的构造函数与析构函数
运算符重载与this指针使用
友元函数与友元类
类继承与派生;一、C++的类定义
例子:自然界中的类型
自然界中的一切事物可以看作为“对象”,例如某个具体的人、房子、骑车、轮船等等。此处的对象是“具体的”人或者其他,如:张飞是一个对象。
人类:不能看做是对象,人类是一个抽象的概念,因此人类应该看成是一个“类”。
对象与类的关系变得明确:张飞这个对象,是具有人类这个类特征的对象。或者说:张飞是人类的一个实例化对象,简称实例化。;1、C++类定义的规则
类名:默认前缀是“C”,类名第一个字母大写。
类的定义不分配内存空间,也就是说,类没有生命,创建一个类的实例化对象是要分配内存空???的,即:对象是有生命的。定义一个人类类的方式如下:关键字:class
class CPeople
{ 成员变量;(属性)
成员函数;(方法、行为)
};;2、属性:类的数据成员变量;例如:
姓名:string strName;
年龄:unsigned int age;
性别:int sex;此处以1表示男,0表示1
身高:double height;
体重:double weight;;3、行为、方法:类的成员函数;例如:
行走:void walk();
学习:void study();
工作:void work();
睡觉:void sleep();
娱乐:void entertainment();;4、类成员的访问控制(具体:一个函数对一个类的成员的访问权限)
public:公有的,没有访问限制
private:私有的,类本身和friend可以访问
protected:受保护的,类本身和派生类、friend可以访问;类定义的基本原则:
尽量让内部数据与操作私有化
提供简单易用的接口函数
尽量降低类与类之间的耦合度;二、类成员函数的实现
举例:在win32 console application应用程序中,创建类的H头文件和cpp应用程序文件:People.h People.cpp;People.h头文件中一般存放:类的定义(变量与函数的声明)
People.cpp源文件中一般存放:成员函数的定义(实现)
#include iostream //c++的输入输出头文件
#include “People.h”//自定义类的头文件
using namespace std;//使用标准名称空间
下面是成员函数的实现:
void CPeople::walk()//::是类的作用域;三、实例化类对象及使用
前面已经定义了“People”类,在其他应用程序中如何使用这个类?首先需要创建类的对象。类对象的创建又称为类的实例化。
在前面实例的win32控制台应用程序中,增加main()主函数文件main.cpp:
#include iostream
#include “People.h”
using namespace std;
int main(){};;int main(){
CPeople m_p1;//类的实例化,称为一个对象,或类对象
m_p1.walk();//类对象的使用方式(类对象操作符.)
m_p1.sleep();
…
return 0;
};;四、类的构造函数与析构函数
前面已经定义了“CPeople”类,具有不能初始化的缺点,例如:m_p1.strName=“zhang fei”;编译器不能通过该编译(在.h文件中无法完成初始化),需要定义构造函数:
(一)不带参数的构造函数CPeople();
(二)带参数的构造函数
CPeople(string name,unsigned int Age,int Sex,
double Height,double Weight);;构造函数的特点:没有返回值!!!
构造函数:可以重载(下面单独讲解)
构造函数的形参列表:与类的成员变量不同。
两种类型的构造函数实现方式如下:
1、CPeople::CPeople()
{ strName=“zhang fei”;age=20;sex=1;
height=175;weight=65;};2、CPeople::CPeople(string name……)
{ strName=name;age=Age;sex=Sex;
height=Height;weight=weight;}
在主函数main.cpp中就有两种创建类对象的方式
CPeople m_p1;
CPeople m_p2(“zhang fe
您可能关注的文档
- 1_1有机化合物的分类.ppt
- 1_1人口的数量变化.ppt
- 1_1概念假设原则.ppt
- 1_1地球在宇宙中.ppt
- 19满井游记(上课).ppt
- 1_1电荷库仑定律课件(人教版选修1_1).ppt
- 1_1线性规划概念与数学模型_wxp.ppt
- 1_1物态变化_温度.ppt
- 1_1土的基本工程性质.ppt
- 1_1集合的含义与表示.ppt
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
最近下载
- 【课件】《危险化学品重大危险源监督管理暂行规定》解读.pptx VIP
- 桩基及围护技术标含施工方案.pdf VIP
- 小学写人记事类作文方法讲解(课件PPT;42页).pptx VIP
- 学校食堂餐饮服务投标方案(技术方案).doc
- 英剧剧本唐顿庄园台词本中英文对照精排版第一季第一集.pdf VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟281.docx VIP
- [中级注册安全工程师考试密押资料]安全生产技术模拟39.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟42.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟301.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟73.docx VIP
文档评论(0)