代码分析
主main函数
#include <iostream>
#include "Time.h"
//成员函数,对象拷贝,私有成员
//1、综述
//2、类基础
//3、成员函数
//4、对象的拷贝
//5、私有成员
using namespace std;
struct student{
string name;
int age;
};
//class Time
//{
//public:
// int Hour;
// int Minute;
// int Second;
// Time() {}
// void initTime(int tmphour,int tmpmin,int tmpsec){
// Hour = tmphour;
// Minute = tmpmin;
// Second = tmpsec;
// }
//};
//void initTime(Time &stamptime,int tmphour,int tmpmin,int tmpsec){
// stamptime.Hour = tmphour;
// stamptime.Minute = tmpmin;
// stamptime.Second = tmpsec;
//}
int main()
{
//1、综述:类是自己定义的数据类型:派生子类(新类型)
// 设计类时要考虑的角度
// (1)站在设计和实现者的角度考虑
// (2)站在使用者的角度来考虑
// (3)父类子类
// 2.类基础
// (1)一个类是一个用户自己定义的数据类型,我们可以将类想象成一个命名空间
// (2)一个类的构成:成员变量,成员函数(有许多特殊的成员函数)
// (3)我们访问类成员时,如果是类的对象,我们就使用对象名.成员名来访问成员
// 如果是指向对象的指针,就用指针->成员名
// public提供外部结构,可以通过类对象直接访问
// struct默认public,class默认private
// struct A{};等价于class A{public:};
student someone;
someone.age = 27;
student* psomeone = &someone;
psomeone->age = 28;
// 成员函数:
Time myTime;
// initTime(myTime,11,2,30); //普通调用
myTime.initTime(11,2,30); //成员函数调用形式
int a = 3;
cout << "Hello World!" << endl;
// 对象的拷贝 默认情况下,对成员变量逐个拷贝,定义适当的赋值运算符也可以进行拷贝功能
Time myTime2 = myTime;
Time myTime3(myTime);
Time myTime4{myTime};
Time myTime5 = {myTime};
//私有成员
return 0;
}
类设计组织结构
.h文件分析
#ifndef __TIME_H_
#define __TIME_H_
class Time
{
public:
int Hour;
int Minute;
int Second;
Time() {}
void initTime(int tmphour,int tmpmin,int tmpsec);
private:
int priData; //不可直接访问,对象不可调用,类内可以调用
};
#endif
.cpp文件分析
#include "Time.h"
//::作用域
void Time::initTime(int tmphour,int tmpmin,int tmpsec){
Hour = tmphour; //隐藏this指针
Minute = tmpmin;
Second = tmpsec;
}