C++.类和对象(基础)

1.类的定义

1.1.类的定义格式:

class 类名(注:类中的变量叫做成员变量,类中的函数叫做成员函数)

{

        public:

        成员函数

        private:

        成员变量(一般情况下成员变量都是设为私有)

};注意这里的引号不可以省略

class date

{
    public:
    void Init()
      {
          a=1;
          b=2;      
      }

   private:

    int a_1;(为了区分成员变量,一般会在成员变量上加一个特殊标识,如这里的变量后面加了个“_1”)
    int b_1;

};(注意这里的引号不可以省略)

1.2.在C++中struct也可以用来定义类,与class的区别是,class定义的类默认是私有,所以上面的成员函数要用‘public’来公开。而struct定义的默认是公有的

1.3.定义在类中的成员函数默认是内联函数,内联函数不支持声明与定义分离。但是如果类中的成员函数声明定义分离了的话,那它就默认不再是内联函数,自然也就不会被内联函数的规则所限制。

2.访问限定符

访问限定符有三个,分别是public,private,protected.

2.1.public,它的汉意是‘公有的’,顾名思义,就是把class的默认私有设为公有,公有的成员在类外可以被访问,私有的在类中才可以被访问。

2.2.在类和对象这个阶段,可以先把protected和private当成是一样的,先都当成私有,当学到继承后才会体现出他们的区别。

2.3.class定义成员没有被访问限定符修饰时默认为private,struct默认为public。

2.4.访问权限作⽤域从该访问限定符出现的位置开始直到下⼀个访问限定符出现时为⽌,如果后⾯没有 访问限定符,作⽤域就到}即类结束。

3.类域

.类中是一个新的作用域,类的所有成员都在其中,类外想要访问都要使用作用域操作符“::”指明成员属于哪个类域。如果不指名是哪个类域, 就会默认从局部域和全局域查找。

4.实例化

4.1.别看讲那么高级,其实就是用类创建了一个对象,叫做实例化出对象

4.2.类在没有实例化出对象之前,里面的变量都是声明没有分配空间在实例化出对象时,才会分配空间。

5.this指针,将以下图为示例:

C++.类和对象(基础)_第1张图片5.1.类的成员函数默认都会在形参的第一个位置添加一个隐形的this指针,哪一个对象调用这个成员函数,this指针指向的就是哪个对象,如上图的this指针指向的就是d1。

5.2.成员函数的参数虽然有一个隐形的this指针,但是它不可以在参数中写出来,不过可以在函数体中写出来。

5.3.成员函数的函数体里面如果有成员变量,那这个成员变量前面默认有一个隐藏的this指针,使该成员变量为该对象中的成员变量(类的成员函数中访问成员变量,本质都是通过this指针访问的)。如上图init函数中隐藏的this指针。

你可能感兴趣的:(c,c++)