注册 登录
编程论坛 C++教室

利用类的指针操纵类对象

hmsabc 发布于 2010-09-27 23:10, 553 次点击
程序代码:
#include <iostream.h>

class Time
{
public:
    int hour;
    int minute;
    int sec;
    void get_time();
    Time();
    int add();
    int product();
};

Time::Time()
{
    hour=4;
    minute=5;
    sec=8;
}


int Time::add()
{
    return (hour+minute+sec);
}

int Time::product()
{
    return (hour*minute*sec);
}

void Time::get_time()
{
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}

int main()                 //利用类的指针操纵类对象的成员函数和数据成员
{
    Time *pt;              //定义指针 pt 为 Time 类的指针变量
    Time t1;               //建立类对象 t1
    pt=&t1;                //将类对象的地址赋给 pt
   
    pt->hour=4;            //利用指针对类的数据成员赋值
    pt->minute=4;
    pt->sec=4;
   
    pt->get_time();         //利用指针调用类的成员函数
    cout<<pt->add()<<endl;
    cout<<pt->product()<<endl;
   
    return 0;
}

/* 要牢记:
    1.   *pt                    // pt 所指向的对象,即 t1
    2.   (*pt).hour             // pt 所指向的对象中的 hour 成员,即 t1.hour
    3.   pt->hour               // pt 所指向的对象中的 hour 成员,即 t1.hour
    4.   (*pt).get_time()       // pt 所指向的对象中的 get_time 函数,即 t1.get_time
    5.   pt->get_time()         // pt 所指向的对象中的 get_time 函数,即 t1.get_time
         2 和 3 等价
         4 和 5 等价
*/
好好学习,天天向上!
5 回复
#2
2010-09-28 15:31
貌似这程序没啥作用饿
#3
DestinyLord2010-09-29 15:16
知识帖,可以看看~
#4
laoyang1032010-09-30 19:11
大哥  指针操纵对象不是这个意思  是用this指针在类的成员函数中实现的,你上面的代码是在重复C语言的知识
#5
stguotao2010-10-01 20:13
本来不晕,越看越晕,是我的问题吗?
#6
聋眼睛瞎耳朵2010-10-02 17:21
实际上搞清楚两个运算符(.)和(->)的区别就可以了。
(.)一般用于类对象调用数据成员或成员函数        (->)一般用于类对象指针调用数据成员或成员函数  区别就在于一个是对于类对象而言的,一个是对类对象指针而言的
1