C++类和对象的小知识点回顾一

举报
努力变强的小C 发表于 2022/09/28 22:10:10 2022/09/28
【摘要】 C++类和对象的小知识点回顾一

目录

知识点一

知识点二

知识点三

知识点四



知识点一

在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++中有两种方法可以定义对象,非常注意的是在累的最后需要在}后面打个分号,声明了类之后再使用时定义对象,建议用普通方法定义 

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。