- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 sizeof与strlen
1)sizeof操作符的结果类型是size_t,它在头文件中的typedef为unsigned int 类型。该类型保证能容纳实现所建立的最大对象的字节大小。2)sizeof是算符,strlen是函数。3)sizeof可以用类型做参数,strlen只能用char* 做参数,且必须是以“/0”结尾的。sizeof还可以用函数做参数。4)数组做sizeof的参数不退化,传递给strlen就
2010-12-06 15:33:00
424
1
原创 String
编写类String 的构造函数、析构函数和赋值函数已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String &other); // 拷贝构造函数~ String(void); // 析构函数String & operate =(con
2010-11-30 17:26:00
397
原创 strcpy
编写函数strcpy 已知strcpy 函数的原型是char *strcpy(char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpychar *strcpy(char *strDest, const char *strSrc);{assert
2010-11-30 17:23:00
537
原创 类的构造函数、析构函数与赋值函数
每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A 产生四个缺省的函数,如A(void); // 缺省的无参数构造函数A(const A &a); // 缺省的拷贝构造函数~A(void); // 缺省的析构函数A & operate =(const A &a);
2010-11-30 10:59:00
508
2
原创 函数内联
1 inline 与函数定义体放在一起2 定义在类声明之中的成员函数将自动地成为内联函数,但不是一种良好的编程风格// 头文件class A{public:void Foo(int x, int y);}// 定义文件inline void A::Foo(int x, int y){?}以下情况不宜使用内联:(1)如果函数体内的代码比较长,使
2010-11-30 10:19:00
338
原创 令人迷惑的隐藏规则
“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。示例程序8-2-2(a)中:(1)函数Deriv
2010-11-29 16:34:00
494
原创 指针参数是如何传递内存
如果函数的参数是一个指针,不要指望用该指针去申请动态内存.应该改用“指向指针的指针void GetMemory2(char **p, int num){*p = (char *)malloc(sizeof(char) * num);}void Test2(void){char *str = NULL;GetMemory2(&str, 100); // 注意参数是 &
2010-11-29 14:33:00
376
原创 着重C++编程规则,为找工作准备
class String{?// 赋值函数String & operate=(const String &other);// 相加函数,如果没有friend 修饰则只许有一个右侧参数friend String operate+( const String &s1, const String &s2);private:char *m_data;}String 的赋
2010-11-28 14:50:00
453
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人