栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++新经典课程学习笔记之第二章-2.5小节

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++新经典课程学习笔记之第二章-2.5小节

本2.5小节,我将来回顾结构、权限修饰符、类简介这三方面的内容。

目录:
    (1)结构回顾
    (2)public和private权限修饰符
    (3)类简介
    (4)类的组织

    (1)结构回顾:

我们都知道,struct结构体(和class类一样),都是一种自定义的数据类型。那么,到底C++中的结构和C中的结构体有何不同呢?
这里我先给出答案:

C++的结构除了具备c中的结构的all功能外,还增加了很多扩展功能,其中最突出的扩展功能之一就是:

C++中的结构不仅仅有成员变量,还可以在其中定义成员函数(或者说是方法).

C中的结构体:

struct Stu {
    //成员变量
	int age;
    char name[20];
};

C++中的结构体:

struct Stu {
    //成员变量
	int age;
	string name;
	//成员函数
    void reviseStuAge(int a) {
		this->age = a;
	}
};

    (2)public和private权限修饰符:

        (1)public(公有) 
        (2)private(私有)
        (3)protected(保护)
        ( 本节课只谈前2个,protected后续再谈!)       

        public:是公共的意思,用这个修饰符修饰结构or类中的成员变量or成员函数,那么就可以被外界访问,一般呢我们把需要能够被外界访问的东西,就修饰为public。就好像是该类的外部接口一样!
        private:私有的意思,用这个修饰符修饰结构or类中的成员变量or成员函数,只有这个结构or类本身的内部可以访问这些private修饰的成员变量or函数,外部是无法访问private修饰的这些东西的!

注意:

        对于一个结构体而言呢,结构成员变量or函数默认情况下(也即缺省的情况下)都会有public属性!,所以可以不加public
        但是对于一个类而言呢,必须有至少一个修饰符,usually呢我们都会把类中的修饰符弄为public,至于private你需要不就看你的需求了!
        

struct Stu {
//结构体的成员变量or函数默认case下都是public的访问属性的
//public:
	int age;
	string name;
	int myGFNumbers;
	void reviseStuAge(int a) {
		this->age = a;
	}
};
class Stu {
//类的成员变量or函数默认case下都是private的访问属性的
//private:
	int age;
	string name;
	int myGFNumbers;
	void reviseStuAge(int a) {
		this->age = a;
	}
};

这里就不具体地拿例子来演示了,若有疑问可以自己写一小段代码test一下。

    (3)类简介:其实没啥好简介的,注意一下结构体和类的区分即可

(标准的C++库中包含了大量丰富的类和函数,比如string,要熟练运用和掌握起来!)
        注意:(以下内容就是CPP的结构体和类的重要的2点区别!!!)
        a)(与上述(2)的注意事项 重合,这里也不重复贴代码了)
        C++的结构体中的成员变量和成员函数,其默认的访问级别都是public!
        C++的类中的成员变量和成员函数,其默认都是private的!

因此,以后我们不论是在写一个结构体还是说写一个类时,我们都最好一个public的权限修饰符!这样可以避免类的缺省情况下的访问权限问题! 
    
        b)
        C++的结构体之间do继承时,默认是用的public
        C++的类之间do继承时,默认是用的private 

struct test1 {
	int scores;
};
//struct test1_son: public test1{...};
//等价于不写public
struct test1_son: test1 //C++中的结构体继承自别的结构体时的默认继承方式都是public的!
{
	
};
class testclass {
public:
	int scores;
};
//C++中的类继承自别的类时的默认继承方式都是private的!
//class testclass_Son: private testclass{...};
//等价于不写private
class testclass_Son: testclass
{

};

   (4)类的组织(书写规范),其目的是:为了方便代码的维护和管理
        1-类的定义(声明)我们都会放在一个.h头文件中,头文件名称可以与类名相同,比如student.h
        2-类的具体实现代码,放在一个.cpp文件中,命名规则同上,student.cpp
        (当然,如果是类模板的头文件的话,我们需要把函数的定义和实现都放在同一个头文件中,并且把头文件名称改为student.hpp)
        (.hpp表示的是.h + .cpp 的缩写的意思)

这些知识点非常的基础,这里就贴上代码演示了,那么今天这一小节的回顾到此结束!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号