类和对象第一讲

来源:互联网 发布:制作婚礼视频软件 编辑:程序博客网 时间: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)在引用数据成员hourminutesec时不要忘记在前面制定对象名。

(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函数时不必重复定义默认参数。如果在定义函数时也指定了默认参数,其值应该与函数声明时一致,否则以函数声明时的默认值为准,在定义函数时指定的默认值不起作用。



0 0
原创粉丝点击