类和对象笔记(1.类和对象的关系,类基本架构)

本文深入解析C++中的类与对象概念,包括类的定义、成员变量与成员函数、对象的创建等,并通过示例代码说明类与对象的关系及应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

梳理C++基础,纯干货或许会很干燥。

——————————————————————————>>>>>分界线

类:指对象的类型。类代表了一批对象的共性和特征。抽象的,不占用内存。

对象:类的具体实例。具体的,占用储存空间。

类是对象的抽象,对象是类的具体实例。

可以同结构体进行比较学习(可以尝试开一篇试一试水)

同结构体类似,先声明一个类类型,再用它定义若干个同类型的对象(类似于结构体)。这些对象是类类型的变量。类是对象的模板。

结构体类型:

    struct student
    {
        int num;
        char name[20];
        float score;
    };

定义结构体且结构体变量,只包括数据(变量),不包括操作。

类类型:

    class student1   //类头:为关键字calss和类名student1组成
    {
        int num;
        char name[20];
        char sex;          //以上为数据成员
        void display()     //以上为成员函数(也可以单纯声明,函数体可以在类框架外定义)
        {
            cout<<"num: "<<num<<endl;
            cout<<"name: "<<name<<endl;
            cout<<"sex: "<<sex<<endl;     //函数的操作语句
        }
    };
    student1 stud1,stud2;   //定义了两个student1类的对象stud1,stud2

请仔细看最后一句,类与对象的关系:

student1 stud1,stud2;   //定义了两个student1类的对象stud1,stud2

数据成员和成员函数共同被称为类体。类体把数据和操作合在一起。

类体中为类的成员表,类的成员表通常包括:成员变量,成员函数,静态成员(点击了解静态成员)。

类对象成员内容对外界隐蔽,若想类外可调用类内成员。可使用privatepublic进行公私区分:

    class student1
    {
        private:       //以下(在public前)属私有部分
        int num;
        char name[20];
        char sex;
        public:        //以下属公共部分
        void display()
        {
            cout<<"num: "<<num<<endl;
            cout<<"name: "<<name<<endl;
            cout<<"sex: "<<sex<<endl;
        }
    };
    student1 stud1,stud2;
若不是用privatepublic进行区分,系统即默认为私有private。(请注意,函数不一定都是公有的,数据不一定都是私有的)

私有的成员,只能被本类中的成员函数所引用,类外不能调用(除友元类)。

共有的成员,可被本类中的成员函数所用,也可被类的作用域内其它函数所引用,外界可以调用。

另外还有一种成员访问限定符(protected),被声明成员称为受保护成员,不能被类外访问,可被派生类的成员函数访问。

————请注意区分受保护成员和私有类成员

privatepublic

(1)出现顺序任意。(不一定谁在前谁在后)

(2)出现次数任意。可出现多次,每个部分的有效范围从该限定符位置开始,到另一个访问限定符或类体结束(花括号{})为止。但每个限定符还是尽量使用一次。类体不一定每个限定符都出现。

定义对象的方法

(1)在类框架(花括号后、分号前)定义

class student1
    {
        //类内部声明
    }stud1,stud2;//属于“student1”类的两个对象

(2)在其它地方(譬如主函数内)定义

class student1
    {
        //类的内部
    };
   int main()
   (
       student1 stud1,stud2;
       return 0;
    }

请注意!并不代表一定要有类名(无类名是允许的,只是并不提倡)

其次 声明类还可以在类名前加class(类关键字),可有可无









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值