一、综述
类是我们自己定义的数据类型(新类型)
设计类时要考虑的角度:
(1)站在设计和实现者的角度来考虑
(2)站在使用者的角度来考虑
(3)父类,子类
二、类基础
(1)一个类就是一个用户自己定义的数据类型,把类可以想象为一个命名空间,包着一堆东西(成员函数,成员变量)。
(2)一个类的构成:成员变量,成员函数(有许多特殊的成员函数)。
(3)我们访问类成员时,我们就用对象名.成员名来访问成员
如果是指向对象的指针,我们就用指针名->成员名来访问成员。
class student
{
int number;
char name[100];
}
student someone; // 定义类的对象
someone.number = 1000;
student *someone1 = &someone;
someone->number = 1005;
cout << someone1->number << endl;
(4)public成员提供类的接口,暴露给外接,供外界调用;private成员提供各种实现类的细节方法,但不暴露给使用者,外界无法访问这些成员。
(5)struct是成员默认为public的class; struct A{….}
(5)class是成员默认为private(私有)class A{….}
三、成员函数
class Time
{
public:
int Hour; // 小时
int Minute; // 分钟
int Second; // 秒钟
void initTime(int tmpHour, int tmpMinute ,int tmpSecond)
{
Hour = tmpHour;
Minute = tmpMinute;
Second = tmpSecond;
}
}
int main()
{
Time MyTime; // 类对象
MyTime .initTime(MyTime,11,14,5);
cout << MyTime.Hour << endl;
cout << MyTime.Minute << endl;
cout << MyTime.Second << endl;
return 0;
}
当做工程来写
//time.h
#ifndef __MYTIME__
#define __MYTINE__
class Time
{
public:
int Hour; // 小时
int Minute; // 分钟
int Second; // 秒钟
void initTime(int tmpHour, int tmpMinute ,int tmpSecond);
}
#endif
//time.cpp
#include “Tiem.h”
// 成员函数的实现
// 其中::称为作用于运算符,表示initTime这个函数属于Time类
void Time::initTime(int tmpHour, int tmpMinute ,int tmpSecond)
{
Hour = tmpHour; // 成员函数中可以直接使用成员变量名
Minute = tmpMinute;
Second = tmpSecond;
}
入口函数文件
#include “Time.h”
int main()
{
Time MyTime; // 类对象
MyTime .initTime(MyTime,11,14,5);
cout << MyTime.Hour << endl;
cout << MyTime.Minute << endl;
cout << MyTime.Second << endl;
return 0;
}
四、对象的拷贝
对象本身是可以拷贝的
默认情况下,类对象的拷贝,是每个成员变量的逐个拷贝。
如果在类中定义适当的赋值运算符就能够控制对象的拷贝行为。
Time myTime;
myTime.Hour = 12;
myTime.Minute = 15;
myTime.Second = 5;
Time myTime2 = myTime; // 定义新对象并初始化
Time myTime3(myTime);
Time myTime4 {myTime};
Time myTime5 = {myTime};
myTime5.Hour = 8;
五、私有成员
class Time
{
private:
int Millsecond; // 毫秒
public:
int Hour; // 小时
int Minute; // 分钟
int Second; // 秒钟
void initTime(int tmpHour, int tmpMinute ,int tmpSecond)
{
Hour = tmpHour;
Minute = tmpMinute;
Second = tmpSecond;
}
void initMillTime(int mls)
{
Millsecond = mls; // 成员函数可以访问成员变量,不管成员是否私有
}
}
Time myTime;
//myTime. Millsecond = 1000; // 出错,无法访问
myTime.initMillTime(1000); // 私有成员变量的值可以通过公有的成员变量来获取与设置
本文深入探讨C++中类的基础概念,包括类的设计角度、成员函数与变量、对象的拷贝及私有成员的使用。通过实例讲解如何定义类、创建对象、初始化成员变量,并演示对象拷贝和私有成员的正确操作。

588

被折叠的 条评论
为什么被折叠?



