C++中的类简要介绍

举报
yd_274589494 发表于 2023/07/27 17:42:38 2023/07/27
【摘要】 @TOC 前言本篇文章讲给大家介绍一个C++中重要的概念,了解了这个概念大家就明白了为什么C++会叫做面向对象编程了。 一、什么是类什么是对象 1.类的概述其实我们生活中有很多类的例子,就像老虎是猫科动物可以看作一个大类,昆虫又是一个大类,机动车和非机动车又是不同的类。通过发现就可以知道自然界中有很多很多的类。我们通常把行为或者属性相近的事物归为同一个类。 2.对象的概述对象又是什么?这里的...

@TOC


前言

本篇文章讲给大家介绍一个C++中重要的概念,了解了这个概念大家就明白了为什么C++会叫做面向对象编程了。

一、什么是类什么是对象

1.类的概述

其实我们生活中有很多类的例子,就像老虎是猫科动物可以看作一个大类,昆虫又是一个大类,机动车和非机动车又是不同的类。通过发现就可以知道自然界中有很多很多的类。我们通常把行为或者属性相近的事物归为同一个类。

2.对象的概述

对象又是什么?这里的对象可不是说的男女朋友的这种对象。
对象就是类的一个具体形态,也就相当于是一个独立的个体。

二、如何创建使用类

在C语言中我们都知道用struct可以创建一个结构体,到了C++中我们可以使用struct去创建一个类。
示例:

#include <iostream>
#include <string>

using namespace std;

struct A
{
    int i;
    void fun(void)
    {
        cout << "hello" << endl;
        cout << i << endl;
    }
};


int main()
{
    A a;
    a.fun();

    return 0;
}

到了C++中使用class代替struct创建类

calss A
{
    int i;
    void fun(void)
    {
        cout << "hello" << endl;
        cout << i << endl;
    }
};

三、class和struct创建类时的区别

1.访问级别

class的默认访问权限是private,而struct的默认访问权限是public。这意味着,如果我们在class中定义一个成员变量或成员函数,则它们默认情况下是私有的,只能在类内部访问;而在struct中定义,则它们默认情况下是公共的,可以在类的外部访问。

#include <iostream>


using namespace std;

class Test
{
	int i;
public:
	int Geti()
	{
		return i;
	}
};

struct Test1
{
	int i;

	int Geti()
	{
		return i;
	}
};

int main()
{
	Test t1;
	Test1 t2;

	t1.i = 10;
	t2.i = 10;


	return 0;
}

这里分别使用struct和class创建了两个类,使用t1.i对i直接进行赋值是错误的。
但是使用t2,i直接对i进行赋值则是正确的。
通过这个例子就可以看出来class的默认访问权限是private,而struct的默认访问权限是public。

2.继承方式

class支持三种继承方式:public、private和protected,而struct只支持public继承。这意味着,如果我们使用class创建一个类,可以通过private和protected继承来隐藏成员变量和成员函数,使得类的设计更加灵活。
除了这些区别之外,class和struct在其他方面是相同的。它们都可以定义成员变量和成员函数,都可以使用构造函数和析构函数,都可以进行继承和多态等面向对象编程的特性。

总结

利用好C加加中的类是学好C加加非常重要的一部分,希望大家在学习类时能够重视起来。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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