类和对象第一讲
来源:互联网 发布:制作婚礼视频软件 编辑:程序博客网 时间:2024/05/13 09:22
到C++里面比较重要的东西了,类和对象,先介绍一些概念性的东西。
客观世界中任何一个事物都可以看成一个对象。
对象是构成系统的基本单位。
任何一个对象有两个要素:1.属性,2.行为。同理,凡是具备这两种属性的都叫做对象。
在C++中,每个对象都是有数据和函数组成的。函数是用来对数据进行操作的,以便实现某些功能。
在设计一个对象时,把对象的内部实现和外部行为分割开来。
类是对象的抽象,对象是类的特例。
对象=程序+数据结构。
在C++中对象的类型称为类,类代表了某一批对象中的共性和特征。对象就是类的一个变量。类是抽象的,不占用内存的,而对象是具体的,占用内存空间的。
类类型的声明形式:
Class 类名
{
Private:
私有的数据成员和成员函数;
Public:
公用的数据成员和成员函数;
}
类和结构体类型的异同:
Class保留了结构体类型,而且把他的功能也扩展了,C++允许用struct来定义一个类类型。
用struct定义的类类型内部如果没表明是什么显式声明,系统默认为public,而class则默认为private。
最简单的例子:
#include <iostream>#include <cstring>#include <cstdlib>using namespace std;class time{public: int hour; int minute; int sec;};int main(){ time t1; cin>>t1.hour>>t1.minute>>t1.sec; cout<<t1.hour<<":"<<t1.minute<<":"<<t1.sec<<endl; return 0;}
注意:
(1)在引用数据成员hour,minute,sec时不要忘记在前面制定对象名。
(2)不要错写类名。
(3)不能删除输入的语句。
程序的改进版:
#include <iostream>#include <cstring>#include <cstdlib>using namespace std;class time{public: int hour; int minute; int sec;};void set_time(time &t1){ cin>>t1.hour>>t1.minute>>t1.sec;}void show_time(time &t1){ cout<<t1.hour<<":"<<t1.minute<<":"<<t1.sec<<endl;}int main(){ time t1; set_time(t1); show_time(t1); return 0;}
在对其作出一定的修改,数据成员不再由键盘输入,而在调用函数时用实数给出,并在函数中使用默认参数。
例:
#include <iostream>#include <cstring>#include <cstdlib>using namespace std;class time{public: int hour; int minute; int sec;};void set_time(time &t1,int hour=0,int minute=0 ,int sec=0){ t1.hour=hour; t1.minute=minute; t1.sec=sec;}void show_time(time &t1){ cout<<t1.hour<<":"<<t1.minute<<":"<<t1.sec<<endl;}int main(){ time t1; set_time(t1); show_time(t1); time t2; set_time(t2,1,2,3); show_time(t2); return 0;}或者:#include <iostream>#include <cstring>#include <cstdlib>using namespace std;class time{public: int hour; int minute; int sec;};int main(){ void set_time(time &,int hour=0,int minute =0,int sec=0); void show_time(time&); time t1; time t2; set_time(t1); show_time(t1); set_time(t2,1,2,3); show_time(t2); return 0;}void set_time(time &t1,int hour,int minute ,int sec){ t1.hour=hour; t1.minute=minute; t1.sec=sec;}void show_time(time &t1){ cout<<t1.hour<<":"<<t1.minute<<":"<<t1.sec<<endl;}
程序中只在主函数中set_time函数时制定了默认参数,在定义ste_time函数时不必重复定义默认参数。如果在定义函数时也指定了默认参数,其值应该与函数声明时一致,否则以函数声明时的默认值为准,在定义函数时指定的默认值不起作用。
- 类和对象第一讲
- OC 复习 小结 第一讲 类和对象
- OC 第一讲 类与对象
- 《Effective Java》 第一讲:创建和销毁对象
- 类和对象第二讲
- 类和对象第三讲
- 类和对象第四讲
- 类和对象第五讲
- 类和对象第六讲
- 第二讲 类和对象
- 第十一讲:类和对象的使用
- Python第四讲类、对象和函数
- 面向对象技术第一讲 多态性
- 第一讲 类加载器
- MySQL 事务和多用户 第一讲
- MySQL 事务和多用户 第一讲
- 【c#】第一讲:概述和规则
- UI第一讲UIView和UILabel
- zoj 1205 Martian Addition
- 用cocos2d-x 3.2 实现的FlappyBird
- arduino实现tts
- 苹果开发之路——简述
- 简单整数算术运算
- 类和对象第一讲
- 四大发送到发送到
- 消息队列的介绍和原理
- How to improve Java's I/O performance( 提升 java i/o 性能)
- 鬼地方鬼地方刚
- 宿主在Windows Service中的WCF(创建,安装,调用) (host到exe,非IIS)
- 解决Android与服务器交互大容量数据问题
- UVA - 573 The Snail
- android音乐播放器开发 SweetMusicPlayer 智能加载在线歌词