一步一步学习C++(类)之定义与实现
2015-04-05 20:34
211 查看
一、类的介绍
类是属于用户自定义的数据类型, 并且该类型的数据具有一定的行为能力, 也就是类中说描述的方法。通常来说, 一个类的定义包含两部分的内容, 一是该类的属性,另一部分是它所拥有的方法。以 "人类"
这个类来说, 每个人都有自己的姓名、年龄、出生日期、体重等, 为 人类 的属性部分, 此外, 人能够吃饭、睡觉、行走、说话等属于人类所具有的行为。
二、类的定义与实现
定义一个点(Point)类, 具有以下属性和方法:■ 属性: x坐标, y坐标
■ 方法: 1.设置x,y的坐标值;
2.输出坐标的信息。
<span style="font-size:14px;">#pragma once class Point { public: Point(void); ~Point(void); void setPoint(int x, int y) //实现setPoint函数 { xPos = x; yPos = y; } void printPoint() //实现printPoint函数 { printf("x = %d\n",xPos); printf("y = %d\n",yPos); } private: int xPos; int yPos; };</span><span style="font-size:24px;"> </span>类在定义时有以下几点需要注意:
①. 类的数据成员中不能使用 auto、extern和register等进行修饰, 也不能在定义时进行初始化, 如 int xPos = 0; //错;
②. 类定义时 private 和 public 关键词出现的顺序和次数可以是任意的;
③. 结束时的分号不能省略, 切记!
类实现有以下两种方式
①在类定义时定义成员函数(上面代码)
①在类外时定义成员函数
void Point::setPoint(int x, int y) { xPos = x; yPos = y; } void Point::printPoint() { printf("x = %d\n",xPos); printf("y = %d\n",yPos); }
三、类的使用
将一个类定义并实现后, 就可以用该类来创建对象了, 创建的过程如同int、char 等基本数据类型声明一个变量一样简单, 例如我们有一个Point类, 要创建一个Point的对象只需要:
<span style="font-size:14px;">Point M; //用定义好的类创建一个对象 点M M.setPoint(10, 20); //设置 M点 的x,y值 M.printPoint(); //输出 M点 的信息</span>对象名.公有函数名(参数列表)
对象名.公有数据成员
相关文章推荐
- 学习C++ -> 类(Classes)的定义与实现
- 学习C++ -> 类(Classes)的定义与实现
- 学习C++ -> 类(Classes)的定义与实现
- 学习C++ -> 类(Classes)的定义与实现
- 【学习C++】学习C++ -> 类(Classes)的定义与实现
- 学习C++ -> 类(Classes)的定义与实现
- (转) 学习C++ -> 类(Classes)的定义与实现
- C++类模板定义与实现的分离—学习C++数据抽象和问题求解
- 学习C++ -> 类(Classes)的定义与实现
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
- 学习C++ -> 类(Classes)的定义与实现
- 学习笔记之C++为什么将函数声明或者类的定义放在.h文件中,而将其实现放在原文件中
- C++学习 【4.5】 利用函数实现指定的功能---局部变量、全局变量、变量的存储类别、声明和定义
- 学习C++ -> 类(Classes)的定义与实现
- 学习C++ -> 类(Classes)的定义与实现
- 学习C++ -> 类(Classes)的定义与实现
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(5)欧几里得算法欧几里得算法求最大公约数
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(3) 最大子序列和问题
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(2) IntCell类
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(7)习题2.8 随机数组的三种生成算法