
C++笔记
顾言guyan
认真做好每一件小事!
展开
-
c++常见的运算符重载
c++常见的运算符重载重载运算符作用:对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型1.加号运算符重载#include <iostream>using namespace std;#include <string>class Person{public: int m_A; int m_B; // Person operator+(Person &p) // { // Person temp;原创 2020-07-29 22:43:46 · 452 阅读 · 0 评论 -
c++中的友元
友元友元是什么在类中,某些私有属性也想让类外的一些特殊函数或者类进行访问,就需要用到友元的技术。友元的目的,就是让一个函数或者类可以访问另一个类的私有成员属性。friend 关键字1.全局函数做友元#include <iostream>using namespace std;#include <string>struct Person{ friend void func(Person &p);public: Person(string原创 2020-07-23 23:54:54 · 170 阅读 · 0 评论 -
C++的构造函数和析构函数
C++的构造函数和析构函数1.构造函数和析构函数对象初始化和清理是两个很重要的安全问题一个对象或变量,没有初始状态,使用后果未知一个对象使用完之后,没有及时地清理,会引发安全问题C++通过构造函数和析构函数来实现这两个功能,编译器会自动调用这两个函数。如果我们没有提供构造函数和析构函数,编译器会调用默认的。默认的构造函数和析构函数没有函数体构造函数 :创建对象时,为对象的成员属性赋值析构函数:对象使用完毕后,配合编译器清理对象构造函数的特点:没有返回值,也不用写void有参数原创 2020-07-15 22:58:31 · 162 阅读 · 0 评论 -
C++ 中struct和class的区别
C++ 中struct和class的区别在C++中struct和class的唯一区别是默认的访问权限不同struct默认权限为publicclass默认权限为private示例:#include <iostream>using namespace std;#include <string>struct C1{ string m_name;};class C2{ string m_name;};int main(){ C原创 2020-07-14 23:33:02 · 171 阅读 · 1 评论 -
C++封装的意义
C++面向对象的三大特征:封装、继承、多态。C++认为任何事物都可以表示为对象,对象有属性和行为。1.封装的意义1.将属性和行为作为一个整体,用来表示生活中的事物示例:#include <iostream>using namespace std;#include <string>#define PI 3.14class Circle{public: int m_r; double calculate() { re原创 2020-07-14 23:16:31 · 1406 阅读 · 0 评论