摘要: c中的动态申请:用malloc、free动态申请、释放内存不会调用构造函数和析构函数(一般c++中不能使用他们来动态申请和释放内存) c++中的动态申请、释放: 申请:类型 * p=new 类型; delete p; (数组: 类型 * p=new 类型[]; delete []p;) delete 阅读全文
posted @ 2022-04-11 16:31 spking 阅读(165) 评论(0) 推荐(0)
摘要: 类中有多个对象时: 构造:先构造里面的对象再构造外面的对象 析构:先析构外面的对象再析构里面的对象 #include <iostream> #include<string.h> #include<string> using namespace std; class phone{ public : p 阅读全文
posted @ 2022-04-10 23:04 spking 阅读(79) 评论(0) 推荐(0)
摘要: 初始化列表:构造函数相较与普通函数特有 与普通构造函数初始化的区别:普通构造函数为先定义后赋值而初始化列表是先声明在调用构造函数是定义后初始化 注意:初始化顺序和声明顺序相一致 class person{ public : person(int a,int b,int c): m_a(a),m_b( 阅读全文
posted @ 2022-04-10 22:24 spking 阅读(41) 评论(0) 推荐(0)
摘要: 浅拷贝:简单的值拷贝默认拷贝构造就浅拷贝 浅拷贝可能会出现的问题:简单的值拷贝可能会造成新旧对象的指针指向同一处内存当析构函数销毁对象时有会出现找不到地址可用销毁导致程序崩溃 解决方式:深拷贝:让新对象的指针指向新内存 class person{ public : person(){} person 阅读全文
posted @ 2022-04-10 14:45 spking 阅读(65) 评论(0) 推荐(0)
摘要: 构造:创建对象时对其进行初始化工作 析构:销毁对象时对其进行清理工作 注意:1、一般需要人为提供,若无提供编译器会自动提供(不做任何操作),无需人为调用调用时编译器自动调用 2、构造函数:函数名与类名一致无返回值不能写void可易有参数可用重载 3、析构函数:函数名等于类名前加~无返回值不能写voi 阅读全文
posted @ 2022-04-10 14:00 spking 阅读(73) 评论(0) 推荐(0)
摘要: 设计一个点和圆类,并判断两者的关系。 代码: class point{ public : void set_x(int X){x=X; } void set_y(int Y){ y=Y;} int get_x(){return x;} int get_y(){return y;} private : 阅读全文
posted @ 2022-04-08 23:31 spking 阅读(45) 评论(0) 推荐(0)
摘要: 类:事物所具有的共性(行为、属性)抽象出来封装在一起 对象:由类型实例化出对象 c++与c struct的区别:c中不能存放函数,只能存放属性,方法和属性分离,c++中则可存放函数。 c中表示事物的方法存在问题:方法属性分离,可能会出现行为调用出错(调用到不属于它的行为) c++对事物的封装-类:1 阅读全文
posted @ 2022-04-08 17:35 spking 阅读(205) 评论(0) 推荐(0)
摘要: extern "C" :c++编译器编译c函数时需要声明extern “C” main.cpp test.h test.c # include <iostream> #pragma once int test(int a,int b){ # include "test.h" #if __cpulsp 阅读全文
posted @ 2022-04-06 12:04 spking 阅读(59) 评论(0) 推荐(0)
摘要: 函数重载:c++中函数名可相同,可有多个函数名相同的函数存在(重载:名字相同意义不同) 本质:c++编译器根据类型来修饰函数 条件:1、同一作用域 2、参数个数、类型、顺序不同 注意:1、返回值类型不能作为重载条件 2、默认参数可存在二义性,存在二义性时报错,要避免其他二义性行为 # include 阅读全文
posted @ 2022-04-06 11:34 spking 阅读(38) 评论(0) 推荐(0)
摘要: 给函数设置形参时设置,调用时需要传参,也可设置默认参数在占位参数上调用时可不传参,在函数的重载时使用 void fun(int a,int ){ } 阅读全文
posted @ 2022-04-06 10:30 spking 阅读(38) 评论(0) 推荐(0)