C++类的初识

举报
努力变强的小C 发表于 2022/09/27 20:49:33 2022/09/27
【摘要】 C++类的初识

目录


结构体初识

从结构体到类 

结构体初识

什么是结构体?
在学类之前我们一定有所了解,所谓结构体就是一种自定义的数据类型,它可以将有相关性的数据组合起来,并且能够将它们组成一个单独的统一体,比如我可以用一下方法来声明一个成绩结构体,下面来看一个栗子:

该结构体中包含了两个数据元素

#include <iostream>
using namespace std; 
struct Score {
	int age, score;
};
int main() {
	Score score1;
	score1.age = 18;
	score1.score = 100;
}

但是结构体有这么多好处,那么结构体的缺点是什么呢?比如我们建立了一个结构体变量。我们可以随便在外部直接对结构体中的数据进行访问,但是在代码编写出来是我们就不会想把所有数据都展示给外部,有些数据是绝对不可以。在外部随意访问的,比如你写了一个登入系统,你就不想让所有用户的账号密码能够在外部进行随意访问,所以在C++中引入了类的概念,它可以更好的解决C结构体的这些缺点。

从结构体到类 

C++中的类就是可以解决上面问题的一种安全有效的数据类型,类和结构体的扩充的形式是非常相似得到,类声明中内容包括了数据成员和成员函数,并且数据成员和成员函数又可以分为公有,保护,和私有三种,以下是类声明的一般形式

Class 类名{
    Public:
    ……
    protected:
    ……
    private:
    ……
};

类的声明是以关键字class。注意类体的最后一个花括号是以分号结尾的

下面就来看一个关于类的例子:

#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;
}

在这个类中我们创建了两个函数        void SetTime(int h,int m,int s)用来创建对时间变量进行初始化和  void Print_Time();这个函数的作用是对创建的时间对象输出它的Hour,Minute,second这三个数据成员对应的值

下面就是该代码执行后的结果:



 

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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