摘要: 在一个类中定义的类被称为嵌套类,定义嵌套类的类被称为外部类。对类进行嵌套通常是为了帮助实现另一个类,并避免名称冲突。对类嵌套往往为了帮助实现另一个类,并避免名称冲突。如下:class queue{private: struct Node{ Item item;struct Node *next }; ...};由于struct在默认情况下其成员为公有的, 所以Node实际上是一个嵌套类。作用域... 阅读全文
posted @ 2016-04-21 16:04 永不停息; 阅读(20376) 评论(2) 推荐(4) 编辑
摘要: 左值:既可以出现在赋值语句的左边,也可以出现在赋值语句的右边。右值:只可以出现在赋值语句的右边,不能出现在赋值语句的左边。变量是左值,因此可以出现在赋值语句的左边。数字字面值是右值,因此不能为赋值语句的左边(不能被赋值)。区分:取地址符只能用于左值。来自为知笔记(Wiz) 阅读全文
posted @ 2016-04-21 16:03 永不停息; 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 在了解静态绑定和动态绑定之前,先了解什么是对象的静态类型,什么是对象的动态类型。对象的静态类型:对象在声明时采用的类型。是在编译器决定的。对象的动态类型:目前所指对象的类型。是在运行期决定的。动态类型可以更改,而静态类型不可更改。看一个示例class Base{public: void setData(int i=10) { cout setData(); pd->setData... 阅读全文
posted @ 2016-04-21 16:02 永不停息; 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 在学习c++时,一直对必须使用初始化列表的情况说不全,或者说不清楚。今天来总结学习一下。先回忆一下,必须使用初始化列表的情况1.类数据成员为const类型2. 类数据成员为引用类型3.类没有默认的拷贝构造4. 派生类的构造函数初始化列表必须调用基类的构造函数const 数据成员class test{public: test() { cout << "constructor with argume... 阅读全文
posted @ 2016-04-21 16:02 永不停息; 阅读(1061) 评论(0) 推荐(1) 编辑
摘要: 最近有大量数据存入数据库时,因为主键为一个nvarchar类型,起初想着用int 类型,每次打开表的时候,获取最后一行的ID,然后让其++。 但发现由于字段是char类型,数据库对其进行了排序。再次插入数据时,末尾已经不再是最后一次插入的数据了。项目组其他人说,使用GUID,windows留有一个产生GUID的接口,可以产生GUID码,我们之后可以把得到的GUID转为我们使用的vc... 阅读全文
posted @ 2016-04-21 16:00 永不停息; 阅读(1476) 评论(0) 推荐(0) 编辑