当前课程知识点:C++语言程序设计基础 > 第4章 类与对象 > 类和对象 > 类和对象的程序举例
(注意:视频的演示程序中 class Clock 类定义后面要加上分号)
类和对象程序举例
类的定义
#include<iostream>
using namespace std;
class Clock{
public:
void setTime(int newH = 0, int newM = 0, int newS = 0);
void showTime();
private:
int hour, minute, second;
};
成员函数的实现
void Clock::setTime(int newH, int newM, int newS) {
hour = newH;
minute = newM;
second = newS;
}
void Clock::showTime() {
cout << hour << ":" << minute << ":" << second;
}
对象的使用
int main() {
Clock myClock;
myClock.setTime(8, 30, 30);
myClock.showTime();
return 0;
}
大家好
欢迎回来继续学习
C++语言程序设计
现在我通过一个具体的例子
来给大家演示一下
怎么样定义类 怎么样定义对象
然后怎么样在程序中
来使用这个对象
首先我们来看这个钟表类的定义
这个类里面分装了两个函数
setTime设置时间
showTime显示时间
还有这三个数据成员
它表示小时分秒
然后这里面特别注意一下
这个setTime呢
它的三个参数
都设置了默认值
也就是说
当我们调用setTime的时候
如果给了实参
那么就用实参值
如果说实参没有给
或者没有给够
就会用这里面
设置的默认参数值
也就是说
当不给实参的时候
默认会把时间设置为0:0:0
接下来我们再来看
成员函数的实现
实现一个成员函数
跟我们在第三章讲的
实现一个普通函数
其实是很像的
就差别在于哪儿呢
这要写上类名和作用域限定符
也就是说
这个setTime函数
这个showTime函数
不是一般的全局函数
它是Clock类里面的成员函数
所以要把类名写在这儿
然后其他的呢
其实跟我们定义普通函数
是一样的
那这个setTime的功能呢
就是将这几个形参的值复制给
当前这个对象的小时分秒
三个数据成员
而这个showTime呢
就是将这个小时分秒
hour minute second
显示出来
送到显示器上去
好 现在在主函数中
我们要使用这个类
定义的功能怎么用呢
当然要定义一个Clock类的对象
myClock
因为我们不能直接去使用
类的设计
要使用一个类
就得用它的对象
用它的实例
所以在这儿定义了一个
Clock类的实例
myClock这样一个对象
然后我们的程序
就可以跟myClock这个对象
进行通信了
就可以给它发消息了
好象我们在跟它说话一样
嗨 myClock
请你把自己的时间
设置到8:30:30
那么它就给设置了
这个时候就会调用setTime
这个函数
然后用8 30 30
这三个数作参数
去把当前这个myClock对象
它的hour minute second
这三个变量设置成8 30 30
先这样设置之后呢
我们再一次跟myClock
嗨 myClock
请你showTime
请你显示一下你的时间
于是它就把这个小时分秒
三个时间取出来
送到显示器上
于是我们会看到运行结果
显示的是8:30:30
-导学
--第1章导学
-计算机系统简介
--计算机系统简介
--计算机系统简介 测试题
-计算机语言和程序设计方法的发展
--计算机语言和程序设计方法的发展 测试题
-面向对象的基本概念
--面向对象的基本概念 测试题
-程序的开发过程
--程序的开发过程
--程序的开发过程 测试题
-信息的表示和储存
--计算机的数字系统
--数据的编码表示
--信息的表示和储存 测试题
-实验指导
-导学
--第二章导学
-C++语言概述
--C++语言概述 测试题
-基本数据类型、常量、变量
--程序举例
--基本数据类型、常量、变量 测试题
-运算与表达式
--运算与表达式 测试题
-实验二:简单程序设计(上)
-数据的输入和输出
--数据的输入和输出
--数据的输入和输出 测试题
-选择结构
--if语句
--switch语句
--选择结构 测试题
-循环结构
--for语句
--循环结构 测试题
-自定义类型
--自定义类型
--自定义类型
-第2章小结
--第二章小结
-实验二:C++简单程序设计(下)
-导学
--导学
-函数定义
--函数定义
--函数定义 测试题
-函数调用
--例3-2
--例3-3
--例3-4
--例3-5
--例3-6
--函数调用 测试题
-嵌套与递归
--例3-9
--例3-10
--嵌套与递归 测试题
-函数的参数传递
--函数的参数传递
--函数的参数传递 测试题
-引用类型
--引用类型 测试题
-含有可变参数的函数
--含有可变参数的函数 测试题
-内联函数
--内联函数 测试题
-constexpr函数
--CONSTEXPR函数课后习题
-带默认参数值的函数
--带默认参数值的函数 测试题
-函数重载
--函数重载 测试题
-C++系统函数
--C++系统函数习题
-第3章小结
--第三章小结
-实验三(上)函数的应用
-实验三(下)函数的应用
-导学
--导学
-面向对象程序的基本特点
--面向对象程序的基本特点 测试题
-类和对象
--类和对象的定义
--类和对象 测试题
-构造函数
--构造函数基本概念
--委托构造函数
--复制构造函数
--构造函数 测试题
-析构函数
--析构函数
--析构函数 测试题
-类的组合
--类的组合
--类的组合程序举例
--前向引用声明
--类的组合 测试题
-UML简介
--UML简介
--UML简介课后习题
-结构体与联合体
--结构体与联合体 测试题
-枚举类
--枚举类
--枚举类 测试题
-第4章小结
--第四章小结
-实验四(上)
--实验四(上)
-实验四(下)
--实验四(下)
-导学
--导学
-标识符的作用域与可见性
--标识符的作用域与可见性 测试题
-对象的生存期
--对象的生存期
--对象的生存期 测试题
-类的静态成员
--类的静态成员 测试题
-类的友元
--类的友元 测试题
-共享数据的保护
--共享数据的保护 测试题
-多文件结构和预编译命令
--多文件结构和预编译命令 测试题
-第5章小结
--小结
-实验五
--实验五
-导学
--导学
-数组的定义与初始化
--数组的定义与使用
--一维数组应用举例
--数组的定义与初始化 测试题
-数组作为函数的参数
--数组作为函数的参数 测试题
-对象数组
--对象数组
--对象数组 测试题
-基于范围的for循环
-指针的定义和运算
--指针的定义和运算 测试题
-综合实例
--综合实例
-实验六(上)
--实验六上
-指针与数组
--指针数组
--指针与数组 测试题
-指针与函数
--指针类型的函数
--指向函数的指针
--指针与函数 测试题
-对象指针
--对象指针
--对象指针 测试题
-动态内存分配
--动态内存分配 测试题
-智能指针
--智能指针
-vector对象
--vector对象
--vector对象 测试题
-对象复制与移动
--移动构造
--对象复制与移动 测试题
-字符串
--C风格字符串
--string类
--字符串 测试题
-第6章小结
--第六章小结
-综合实例
--综合实例
-实验六(下)
--实验六(下)