目录
知识点一
在C++中按权限划分,数据成员和成员函数可以分为三种,分别是公有的数据成员和成员函数,还有的是保护成员和数据成员,最后就是私有的数据成员和成员函数,一般情况下一个类的数据成员就应该声明为私有成员,因为这是C++面向对象封装的一大部分,但是成员函数应该是名为公有成员,因为它是与外界的接口
#include <iostream> using namespace std; class Time{ public: void SetTime(int h,int m,int s); void Print_Time(); private: int Hour,Minute,Second; }; void Time::SetTime(int h,int m,int s){ Hour = h; Minute = m; Second = s; } void Time::Print_Time(){ cout << Hour << ":"; cout << Minute << ":"; cout <<Second << endl; } int main(){ Time mytime; mytime.SetTime(9,20,30); mytime.Print_Time(); system("pause"); return 0; }
知识点二
构造函数是类中的一种特殊成员函数,它的主要作用是为对象分配空间,将对象进行初始化,而且构造函数也不能像其他的原函数那样呗,非常明显的调用它是在定义对象的同时就会被调用,但是在实际应用中如果我们不给一个类定义构造函数,则在编译时就会自动生成一个默认的构造函数,所以说我们构造函数一般情况下是可以不用声明的
#include <iostream> using namespace std; class Time{ public: Time(); Time(int h,int m,int s); Time(Time &t); ~Time(); void Print_Time(); private: int Hour,Minute,Second; }; Time::Time(){ Hour = 0; Minute = 0; Second = 0; } Time::Time(int h,int m,int s){ Hour = h; Minute = m; Second = s; } Time::Time(Time &t){ Hour = t.Hour; Minute = t.Minute; Second = t.Second; } Time::~Time(){ cout << "已执行析构函数:GoodBye" << endl; } void Time::Print_Time(){ cout << Hour << ":"; cout << Minute << ":"; cout <<Second << endl; } int main(){ Time mytime(10,40,50); Time yourtime(mytime); mytime.Print_Time(); yourtime.Print_Time(); //system("pause"); return 0; }
知识点三
最后一个知识点就是深浅拷贝,浅拷贝就是类中默认调用的拷贝过程,函数实现的对数据成员的赋值,但是如果到内中一旦很有指针类型的数据,我们还使用这种默认的拷贝构造函数方法,就会产生错误,所以说为了解决这种错误,我们就要自己定义一个拷贝构造函数,让他不仅复制数据,成员并且为对象分配自己内存,成员的内存空间,这就是我们说的深拷贝
知识点四
类是用户声明的一种抽象数据模型,对象就是类的实例,在C++中有两种方法可以定义对象,非常注意的是在累的最后需要在}后面打个分号,声明了类之后再使用时定义对象,建议用普通方法定义