随笔分类 - C++
摘要:#if 0 //这里有很多代码,并且不会被执行 #endif 因为C++不支持注释嵌套,这样可以
阅读全文
摘要:定义: int *p=new int[lenth];//lenth可以由用户输入,所以叫动态 操作: p[i]。 回收: delete []p;
阅读全文
摘要:程序有两种错误,一是编译错误(语法等错误),二是运行时错误(内存问题等)。 语法: try { } catch() { } throw "异常语句";
阅读全文
摘要:这个函数在<cassert>里面,通常用来调试程序。 eg: int i=1; assert(i==1);/什么也不做 assert(i==2);//程序会异常退出
阅读全文
摘要:class BaseA{}; class BaseB{}; 多继承:class C :public BaseA,Public BaseB{}; 虚继承:class D:virtual public BaseA{};
阅读全文
摘要:重载:函数名相同,函数的参数个数、参数类型或参数顺序三者中必须至少有一种不同。函数返回值的类型可以相同,也可以不相同。发生在一个类内部。 注意:返回值类型不同不构成重载函数 重定义:也叫做隐藏、覆盖,子类重新定义父类中有相同名称的非虚函数 (如果是虚函数则是多态的函数重写), 参数列表可以不同 ,指
阅读全文
摘要:class Base { public: void do(){} } class Son:public Base { public: void do(){}//覆盖 } 1、虚函数 父类和子类都有一个方法:do();但是通过子类对象指针访问这个do方法的时候,编译器会选择基类的do()来实现,而不是
阅读全文
摘要:int a=1234; int current; while(a) { current=a%10;//4 cout<<current; a=a/10; }
阅读全文
摘要:1、Typedef 为一个已知数据类型自定义一个别名。 如 Typedef int* intpointer; 2、#define 做一个简单的替换工作,代码编写时不会对错误进行检查 注意:define是定义常量,typedef是定义变量
阅读全文
摘要:1、 枚举就是定义一个集合,编译器给每个集合赋值,从0开始。 enum weeks{monday,tuesday}; weeks week; week=monday; //此时week==0。 2、 enum CUSTOMPLOT_DATA_TYPE{ PANTOGRAPH_DATA = 1,//受
阅读全文
摘要:联合样子和结构体长得一样,但是结构体可以存储里面所有数据,而联合只能存储其中一个数据: union Code{ std::string first; std::string sec; }; main() { Code code; code.first=“”12345“”; code.sec="543
阅读全文
摘要:所谓namespace,是指标识符的各种可见范围。 C++标准程序库中的所有标识符都被定义于一个名为std的namespace中,这样命名空间std内定义的所有标识符都有效。 为什么把cout等放在std里,是因为用户会多次使用cout等,防止此对象被使用多次。 <iostream>和<iostre
阅读全文
摘要:sprintf(); #include <stdio.h> void put_int_with_space(int v) { char str[50]; //定义一个足够大的数组。 int i; sprintf(str, "%d", v); //将v转为字符串。 }
阅读全文
摘要:#ifndef XXX //如果没有定义XXX #define XXX//那就定义 class Point{ //定义一个Point类 } #endif //结束定义 #ifndef XXX //同理 #define XXX class Point{ } #endif 这样是为了避免重复定义poin
阅读全文
摘要:实际上就是一个变量的别名,指向同一个地址。 如:int a=0; int &b=a; b=1;//a就=1了 和指针变量的区别:指针需要空间,引用不需要空间。
阅读全文
摘要:虚函数:在子类继承父类的时候,如果子类和父类有相同的函数(即函数的覆盖),当子类实例化对象的时候,子对象调用此函数,会默认调用父类的此函数。 这时,在父类的此函数前面加上:virtual,就可以调用子类此函数。 纯虚函数:在父类的某个函数-》virtual void fn()=0; 这个类就变成了抽
阅读全文
摘要:1、基类,或者父类 class 动物{ pulic: 睡觉(); 呼吸(); }; 2、派生类,或者子类 class 人:pulic 动物{ }; 注意:父类的private只有自己可以访问;父类的protected可以在子类内部访问;父类的public到处都可以访问。 继承时,构造函数和析构函数执
阅读全文
摘要:class A{ }; 1、不使用new来新建对象 A a; 使用完后什么也不用做,系统自动调用析构函数。使用空间是栈。 2、使用new来新建对象 A* a=new A(); delete a;//使用后销毁,这时才调用析构函数。使用的空间是堆。
阅读全文
摘要:结构体就是特殊的类。 结构体缺省情况下,内部成员是public,课外部访问;而类缺省情况下是private,外部不可访问。 MFC中在很多类中定义了结构体变量。如基类CWnd::GetDlgItem->... C语言中的结构体里面不能有成员函数,而C++的结构体可以。
阅读全文
摘要:首先->和.都是用于结构体或类的对象的,而::是用于类的 1、->是指针指向其成员的运算符 .是结构体的成员运算符。最大的区别是->前面放的是指针,而.前面跟的是结构体变量。 2、:: (1)表示“域操作符” 例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定
阅读全文