2011年7月21日

友元函数、类的非静态成员函数、静态成员函数的区别

摘要: 类中申明的函数相对于类来说有三层意思:1.有this指针2.函数在类的作用区域中3.可以访问类中私有部分4.可以被继承非静态成员函数具有1234静态成员函数具有234友元函数具有3静态成员函数与友元函数的区别只是作用区域的不同 友元函数具有全局性 不慎使用可能会造成函数同名冲突虽然命名空间能解决一定的问题,但我还是偏向使用静态成员函数= =1.静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下: class base{ static int func1(); int func2(); }; int (*pf1)()=&base::func1 阅读全文

posted @ 2011-07-21 21:02 原来... 阅读(3503) 评论(0) 推荐(1) 编辑

C++ string类常用函数

摘要: C++ string类常用函数http://xiaocao000.spaces.live.com/blog/cns!F826A925CF33491A!117.entrystring类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:const char &am 阅读全文

posted @ 2011-07-21 18:55 原来... 阅读(385) 评论(0) 推荐(0) 编辑

c++ string详解

摘要: c++ string详解http://read.newbooks.com.cn/info/119627.html之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题………首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include //注意这里不是string.h s 阅读全文

posted @ 2011-07-21 18:54 原来... 阅读(6721) 评论(1) 推荐(2) 编辑

STL vector 容器介绍

摘要: 介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在 阅读全文

posted @ 2011-07-21 18:52 原来... 阅读(1067) 评论(0) 推荐(0) 编辑

C++ template

摘要: 1.自定义Stack模板类#include <vector>#include <stdexcept>template <typename T>class Stack { private: std::vector<T> elems; // elements public: void push(T const&); // push element void pop(); // pop element T top() const; // return top element bool empty() const { // return whet 阅读全文

posted @ 2011-07-21 09:40 原来... 阅读(1051) 评论(0) 推荐(0) 编辑

类模板 与 模板类

摘要: 1.类模板与模板类的概念⑴什么是类模板一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。⑵类模板定义定义一个类模板,一般有两方面的内容:A.首先要定义类,其格式为:template <class T>class foo{……}foo为类名,在类定义体中,如采用通用数据类型的成员,函数参数的前 阅读全文

posted @ 2011-07-21 09:20 原来... 阅读(21161) 评论(2) 推荐(3) 编辑

导航