struct 和 class 定义类的区别
摘要:有一种常见的误解认为用struct保留字定义的类与用class定义的类有很大的区别。唯一的不同只是默认的成员保护级别和默认的派生保护级别,没有其他的区别。1. 用class定义的类,默认的成员访问级别为private。struct定义的类成员默认访问级别是public。2. 使用class关键字定义的派生类默认具有private继承,而用struct关键字定义的类默认具有public继承: cl...
阅读全文
posted @
2010-01-23 21:53
︶ㄣ第二名
阅读(1173)
推荐(0)
复制构造函数和默认构造函数的调用
摘要:C++ Primer 第四版,第619页: Panda ying_yang("ying_yang"); //create a Panda object Panda ling_ling = ying_yang //uses copy constructor起初对于第二个语句调用复制构造函数很诧异,感觉应当调用赋值操作符函数。其实不然,请看如下代码:代码 Code highlighting ...
阅读全文
posted @
2009-12-23 14:30
︶ㄣ第二名
阅读(590)
推荐(0)
派生类到基类转换的可访问性和虚函数所占用的sizeof空间
摘要:先看一段代码:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include<iostream>usingnamespacestd;classBase{public:virtualvoidfun(){cout<<"Bas...
阅读全文
posted @
2009-12-10 14:32
︶ㄣ第二名
阅读(1072)
推荐(0)
const 指针与指向const的指针
摘要:当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐) int const* p; 第一种可以理解为,p是一个指针,它指向的内容是const int 类型。p本身不用初始化它可...
阅读全文
posted @
2009-12-02 14:49
︶ㄣ第二名
阅读(45148)
推荐(1)
类的static成员函数和const成员函数
摘要:static成员的特性 static成员函数没有this指针。 static成员函数不能被声明为const。 static成员函数也不能被声明为虚函数。 static成员函数可以直接访问所属类的static成员,但不能直接使用非static成员。 static数据成员的类型,可以是该成员所属的类类型。非static成员被限定声明为其自身类对象的指针或引用。 static数据成员可以作为...
阅读全文
posted @
2009-12-02 10:19
︶ㄣ第二名
阅读(3075)
推荐(0)
C++类的const成员函数、默认的构造函数、复制形参调用函数
摘要:C++类的const成员函数[代码]const关键字表明这是一个const成员函数,它不可以修改Sales_item类的成员变量。如果没有为一个类显示的定义任何的构造函数,编译器会自动为这个类生成默认的构造函数,成为“合成的默认构造函数”。这样的话,构造函数不会自动初始化内置类型的成员。对于类类型的成员,比如string,会用string自身的默认构造函数进行初始化。复制形...
阅读全文
posted @
2009-11-17 11:07
︶ㄣ第二名
阅读(1192)
推荐(0)
函数 千万不要返回“局部对象”的引用或者指针
摘要:请看下列两个代码代码1:[代码]代码2:[代码]代码1是正确的。代码2的manifp函数,返回了局部对象的引用。运行时会出现不可预知的错误。
阅读全文
posted @
2009-11-16 11:22
︶ㄣ第二名
阅读(853)
推荐(0)