![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
PersianCedar
这个作者很懒,什么都没留下…
展开
-
C++:断言(ASSERT)
ASSERT为了防止程序猿自己写法错误导致的问题,就会使用断言,格式为assert(condition);condition为真,则不进行任何操作;condition为假,则程序中断,打印导致此条件成立的信息。int a = 0;int b = 1;assert(a!=0);cout << b/a << endl;STATIC_ASSERT附带提示消息的断言,格式为:static_assert(condition,tipString)例原创 2020-07-03 14:52:42 · 1987 阅读 · 0 评论 -
C++:接口(抽象类)
类中至少有一个函数被声明为纯虚函数(virtualdoublegetVolume()= 0),则这个类就是抽象类。 抽象类没有实例,子类必须实现每个抽象父类的虚函数。原创 2020-06-30 20:19:02 · 86 阅读 · 0 评论 -
C++:多态
虚函数多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数(比如Son继承Parent,son.eat()就会调用Son的成员函数eat()),BUT:class Parent { protected: void eat() { cout << ”Parent eat”; }}class Son: public Parent { protected: void eat() {原创 2020-06-30 20:18:06 · 78 阅读 · 0 评论 -
C++:继承
多继承一个类可以继承至多个基类(也就是多继承,Java不行)class Rectangle: public Shape, public PaintCost { public: int getArea() { return (width * height); } };环状继承class D{......};class B: public D{......};class A: public D{......原创 2020-06-30 20:04:30 · 84 阅读 · 0 评论 -
C++:类 & 对象
类成员函数就是定义与原型写在类里面的函数,能操作类的所有对象中的所有成员class Box { public: double length; // 长度 double breadth; // 宽度 double height; // 高度 double getHeight(); //类中定义的所有成员函数都是内联的 d原创 2020-06-30 19:52:38 · 107 阅读 · 0 评论 -
C++:引用
引用不为空,不可改变引用的对象,必须在创建时被初始化!。引用只能指向对象,不能指向常量!int i = 17;int& r = i; // r 是一个初始化为 i 的整型引用int& r2 = 17; //会报错!!!为什么说引用比指针更安全?不存在空引用,但存在空指针; 引用不可改变对象,但指针随时可改变。函数调用时传参,传引用/指针与传值有何区别?传引用/指针时直接操作原变量,函数内部的操作会直接改变原变量的值; 传值相.原创 2020-06-30 19:36:58 · 375 阅读 · 0 评论 -
C++:指针
指针可以为空,可以改变指向的对象,可以在任何时候被初始化指针可能传空值,需要进行NULL判断地址变量的地址用&获取:int var1;cout << &var1 << endl; //0xbfebd5c0指针指针是一种变量,这个变量的值是另外一个变量的地址。int a = 2;int *p; //p是指针,*p表示int类型的变量p = &a; //p的值为变量a的地址。NULL指针声明指针时没有合适的.原创 2020-06-30 19:34:52 · 76 阅读 · 0 评论 -
C++:字符串
C风格的 数组型字符串char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};char greeting[] = "Hello"; char s1[] = “hi”, s2[] = “hiit”; char ch = ‘i’; strcpy(s1, s2) strcat(s1, s2) strlen(s1) strcmp(s1, s2)原创 2020-06-30 19:24:19 · 59 阅读 · 0 评论 -
C++:运算符
位运算符 p q p & q p | q p ^ q ~p p<<2 p>>2 0 0 0 0 0 按位取反 二进制左移 二进制右移原创 2020-06-30 19:19:31 · 69 阅读 · 0 评论 -
C++:存储类
auto自动推断 变量类型 + 函数返回值类型auto f=3.14; //double auto s("hello"); //const char* auto z = new auto(9); // int* auto x1 = 5, x2 = 5.0, x3='r'; //错误,必须是初始化为同一类型registerstatic静态局部变量数据存在全局数据区,只会执行一次初始化。void fn()..原创 2020-06-30 19:18:03 · 66 阅读 · 0 评论 -
C++:数据类型&变量类型&变量作用域
typedef 与 #definetypedef int feet;feet distance; //对已经存在的类型增加一个名字distance = “hello”; //报错,typedef会进行类型检查#define f(x) x*x //全局作用int a=6, b=2, c;c=f(a) / f(b); //c=36, #define只是简单的字符串替换变量声明 extern 与原创 2020-06-30 19:15:50 · 259 阅读 · 0 评论 -
C++——从小白到入门
关于以下符号的使用规则::: -> .【->】与【.】struct MyStruct { int a;};MyStruct s;s.a = 1 //普通对象对结构体成员的使用MyStruct* ps;ps->a = 1; //指针------------------------------------------------...原创 2020-03-18 17:12:46 · 72 阅读 · 0 评论