C++日记——Day7:类成员函数、对象拷贝、私有成员

设计类时要考虑的角度:

1、站在设计和实现者的角度来考虑;

2、站在使用者的角度来考虑;

3、父类,子类;

 

类基础:

1、类就是一个用户自己定义的数据类型;

2、一个类的构成:成员变量,成员函数;

3、我们访问类成员时,如果时类的对象,我们就是用  对象名.成员名 来访问成员。如果是指向这个对象的指针,我们就用 指针名->成员名 来访问成员;

4、public成员提供类的接口,暴露给外界,供外界调用。private成员提供各种实现类功能的细节方法,但不暴露给使用者,外界无法访问;

5、struct 是成员默认为public的class; class成员默认是private(私有);struct A { ... }; 等价于 class A { public: ...};

 

成员函数:

//Time.h
#ifndef __MYTIME__
#define __MYTIME__

class Time{
public:
    int Hour;
    int Minute;
    int Second;
    
    void initTime(const int &tmp_hour, const int &tmp_minute, const int &tmp_second);
}
#endif


//Time.cpp
void Time::initTime(const int &tmp_hour, const int &tmp_minute, const int &tmp_second){
    Hour = tmp_hour;
    Minute = tmp_minute;
    Second = tmp_second;
}

在不同的源文件中用#include中重复定义类是允许的,全局变量是不允许的。

 

对象的拷贝

Time myTime;

Time myTime2 = myTime;
Time myTime3 ( myTime );
Time myTime4 { myTime };
Time myTime5 = { myTime };

如果在类中定义适当的 “赋值运算符” 就能够控制对象的拷贝行为。

 

私有成员

私有的不能直接访问成员变量或者私有成员函数。

//Time.h
#ifndef __MYTIME__
#define __MYTIME__

class Time{
public:
    int Hour;
    int Minute;
    int Second;
    
    void initTime(const int &tmp_hour, const int &tmp_minute, const int &tmp_second, const int &tmp_millsecond);

private:
    int MillSecond;
    void initMillSecond(const int &tmp_millsecond);
}
#endif


//Time.cpp
void Time::initTime(const int &tmp_hour, const int &tmp_minute, const int &tmp_second){
    Hour = tmp_hour;
    Minute = tmp_minute;
    Second = tmp_second;
}

void Time::initMillSecond(const int &millsecond){
    MillSecond = millsecond;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值