C/C++教程

C++类和对象学习笔记

本文主要是介绍C++类和对象学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

基本概念

结构体和类

结构体和类非常相似,它们之间除了写法格式上的不同,结构体用的是\(struct\),而类用的是\(class\)定义外,类中还有特定的\(public\)和\(private\),其中,\(public\)为公共数据,可以在类外使用,而\(private\)为类内数据,只能在类内使用。

成员函数

类内成员函数的定义
方法一
成员函数在类外面

class point
{
    void point::car(int x)
    {
        return x*x;
    }
}

即返回值类型 类名::成员函数名(参数表)
{
函数体
}

方法二
成员函数直接定义在类里面
用法和结构体一样,不多解释了

方法三
使用内联成员函数,关键字\(inline\)

类对象的定义及使用

和结构体一样,不多$\LARGE{bb}$了

构造函数和析构函数

对象初始化和构造函数

对象的初始化不能直接像结构体一样直接套等于,要用到构造函数,构造函数名和类名一样,一般对私有成员赋初值,形式一般有如下两种。
第一种
类名 对象名[(实参表)]

class Complex
{
    private:
      int a;
      int b;
    public:
      Complex(int c,int d)
      {
         a=c;
         b=d;
      }
      int car()
      {
         return a+b;
      }
}
int main()
{
    Complex A(1,2);//定义对象A时调用了构造函数Complex
    //分别对a和b赋初值1和2
    cout<<A.car()<<endl;
    return 0;
}

第二种
类名*指针变量名=new类名[(实参表)]
例如:Complex *pa=new Complex(1,2);
输出时调用pa->car()
同时也可以用delete释放
例如:delete pa;

\(tip:\)
1、构造函数名和类名要一样。
2、没有返回值
3、写在类里面外面都可以
4、构造函数可以不带参数

用成员初始化列表对数据成员初始化

语法格式如下:
类名::构造函数名([参数表])[:(成员初始化列表)]
{
//构造函数体
}
成员初始化列表的一般形式语言为:
数据成员名1(初始值1),数据成员名2(初始值2),······
例如:

Complex::Complex(int c,int d):a(c),b(d)
{
    //使用成员初始化列表对数据成员初始化
}

构造函数的重载

用法参考函数的重载,也不多bb了

带默认参数的构造函数

emm好像也没啥好说的

析构函数

语法如下:

~Complex();//声明析构函数
······
Complex::~Complex()//定义析构函数
{
      //函数部分
}

也可直接显式定义,如下:

~Complex()//定义析构函数
{
      //函数部分
}

这点也和结构体类似\(qwq\)
\(tips:\)
1、析构函数名和类名一样
2、无返回值
3、无参数
4、撤销对象时,会自动调用析构函数(如主函数结束return 0时会调用析构函数)

对象数组与对象指针(待补,指针还不咋会qwq)

这篇关于C++类和对象学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!