zoukankan      html  css  js  c++  java
  • 鸡啄米:C++编程之十三学习之类与对象,类的声明,成员的访问控制

    1. 本次学习鸡啄米课程第13篇,把比较重要的学习记录下来,以敦促自己更好的学习。推荐他们的网址学习:http://www.jizhuomi.com/school/c/97.html

    2. 在面向过程的设计中,程序的模块是函数构成的,而面向对象设计中程序模块是类构成的,函数只是语句和数据的封装,而类是函数和数据的封装,做了一段C++之后,才明白这句话的意思。其实类就是一种自定义的数据类型。可以定义某个类类型的变量,用类定义的变量叫做类的对象,这种定义对象的过程叫做实例化。

    3. 不过一直有个疑问,函数可以不定在类里面吗?就像C语言的,这个函数不属于任何一个类?

    4. 类的声明

    1 class  Clock                                                                       
    2 {
    3         public:                                                                              
    4                     void SetTime(int NewH,int NewM,int NewS);       
    5                     void ShowTime();                                                   
    6         private:                                                              
    7                     int  Hour,Minute,Second;                                            
    8 };

    5. 函数在类里面声明,然后具体实现放在类外面,要加个::

     1 void Clock::SetTime(int NewH, int NewM, int NewS)
     2 {
     3     Hour=NewH;
     4     Minute=NewM;
     5     Second=NewS;
     6 }
     7 void Clock::ShowTime()
     8 {
     9     cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
    10 }

    6. 对上面的<<语法不太明白?去搜了一下

    cout<<"Hello! ";是条语句,每条语句由分号结束。cout是C++标准库里预定义的对象,它的信息就放在之前包含的头文件iostream.h中,它是一个输出流对象,用操作符<<将后面的字符串输出到标准输出设备,一般是显示器。

    7. 类成员的访问控制

    类成员访问权限的控制是通过设置成员的访问控制属性来实现的。访问控制属性有三种:公有类型(public)、私有类型(private)和保护类型(protected)。

    公有类型声明了类的外部接口。公有类型成员用public关键字声明。外部访问必须通过外部接口进行。比如,对于Clock类,外部想查看或改变时间只能通过SetTime和ShowTime两个公有类型的函数实现。

    private后面声明的是类的私有类型成员。如果没有标明访问控制属性则默认为private。比如,类Clock声明中,如果那个public没有的话,那么SetTime和ShowTime函数就都默认是private的。私有类型成员只能由本类中的成员函数访问,外部不能访问。Clock类中Hour、Minute、Second都是私有类型成员。

    8. 类的比较简单的成员函数也可以声明为内联函数,和普通内联函数一样,编译时也会将内联函数的函数体插入到每个调用它的地方。内联函数的声明有两种方式:隐式声明和显式声明。把函数体直接放到类主体内,这种方式就是隐式声明。其实比较奇怪,在类里面就是内联函数了?内联函数应该会消耗更多的空间。

    9. 打开VS2010测试一下。

  • 相关阅读:
    读书笔记:《HTML5开发手册》-- 现存元素的变化
    关于微信小程序,一些想法
    HTML5--details活学活用
    读书笔记:《HTML5开发手册》--figure、time、details、mark
    读书笔记:《HTML5开发手册》--HTML5新的结构元素
    微信小程序开源项目库汇总
    Debian安装fail2ban来防止扫描
    Debian更新软件源提示There is no public key available for the following key IDs的解决方法
    JavaBugCharSequence
    分析 《7吨碳九泄漏,40万泉港人在无声中消逝》虚假报道
  • 原文地址:https://www.cnblogs.com/429512065qhq/p/8283075.html
Copyright © 2011-2022 走看看