C++
jolivan
这个作者很懒,什么都没留下…
展开
-
组合与继承
//类和类之间的关系 /************ 继承,复合,委托 ************/ 一、复合 template >//默认Sequence 是这种类型 //我里面有另外一种东西,那么就是代表复合 template class queue { protected: deque c; public: bool empty() const{return c.emp原创 2017-03-08 22:48:50 · 206 阅读 · 0 评论 -
C++设计中的类模板和函数模板
一、补充static static 函数没有this pointor 它只能用来处理静态数据 class Account { public: static double m_rate; static void set_rate(const double& x){m_data =x;} }; double Account::m_rate=8.0;//静态数据在外面一定要写这个 int m原创 2017-03-07 18:50:06 · 407 阅读 · 0 评论 -
const和define的区别
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。 (3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。 const常量会在原创 2017-03-09 11:07:40 · 372 阅读 · 0 评论 -
New和malloc的区别
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于m原创 2017-03-09 11:15:22 · 199 阅读 · 0 评论 -
struct和class的区别
1、class是引用类型,struct是值类型; 2、class可以继承类、接口和被继承,struct只能继承接口,不能被继承; 3、class有默认的无参构造函数,有析构函数,struct没有默认的无参构造函数,且只能声明有参的构造函数,没有析构函数; 4、class可以使用abstract和sealed,有protected修饰符,struct不可以用abstract和sealed,没有pro原创 2017-03-09 11:31:49 · 290 阅读 · 0 评论 -
C++开发中的栈、堆和内存分配
Output函数 Ostream& operator <<(ostream& os, const String & str) { Os<<str.get_c_str(); return os; } 创建对象 Stack heap 当你调用函数,函数本身就会形成一个stack,用来放他所接收的参数,自动消失. 堆 则是由藏做系统提供的一块空间,程序可以动态分配 但是必须自原创 2017-03-06 17:29:03 · 205 阅读 · 0 评论 -
复String类的实现
一、接口设计 //防卫式定义 class String { public: String(const char* cstr = 0);// 构造函数,上面写的事默认值 初值 String(const string& str);//拷贝构造 String& operator = (const string& str); ~String();//析构函数 char* get_c_str()原创 2017-03-07 17:15:40 · 188 阅读 · 0 评论