C++空类默认函数
摘要:定义一个空的C++类,例如class Empty{}一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于class Empty{public:Empty(); // 缺省构造函数Empty( const Empty& ); // 拷贝构造函数~Empty(); // 析构函数Empty& operator=( const Empty& ); // 赋值运算符Empty* operator&(); // 取址运算符const Empty* operator&() const;
阅读全文
c/c++ 内存动态分配与回收
摘要:c语言提供内存的动态分配的函数有:malloc,calloc,realloc。在使用这些函数时,必须包含其头文件,分别为:<malloc.h>,<stdlib.h>,<alloc.h>1.malloc函数malloc函数原型: void *malloc(unsigned int size)作用:在内存的动态分配区域中分配一个长度为size的连续空间。类型说明符:void说明该函数适用与任意的数据类型。参数:size为无符号整型数。返回值:如果分配成功,则返回所分配内存空间的首地址。如果失败,则返回NULL。注:申请的内存不会进行初始化。例子:char *p
阅读全文
c++ 多态与虚函数
摘要:多态是c++的一个非常重要的特征,虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。 多态性包含编译时的多态性、运行时的多态性两大类。 即:多态性也分静态多态性和动态多态性两种。静态多态性 静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。例如:View Code class A{public: void funPrint(){cout<<"funP
阅读全文
c/c++中变量的声明,定义和初始化问题
摘要:在c/c++中,变量的声明和定义是不同的。不同点:定义创建了对象并分配了内存空间,而声明不会分配内存。对一个变量或对象,可以声明多次,在相同作用域内,只能定义一次。如果对定义的变量不进行初始化就直接使用的话,会产生意想不到的结果。例如:View Code #include <iostream>using namespace std;int main(){ int count; for(int i = 0; i<5; i++) { count++; } cout<<count<<endl; retur...
阅读全文
size_t , int,float,long,double,short int
摘要:size_t:在32位系统中,size_t是4字节的,而在64位系统中,size_t是8字节的,无符号整数,长度与平台无关。int:在32位系统,c/c++中是4个字节,有符号整数,字节长度与使用平台有关。short int:在32位系统,c/c++中是2个字节。long:在32位系统,c/c++中是4个字节。float:在32位系统,c/c++中是4个字节。double:在32位系统,c/c++中是8个字节。
阅读全文
c++的const成员函数
摘要:一。凡是不用修改类的成员的函数尽量定义为const函数!比如在取成员变量的值的时候,这样也可以尽量避免bug,而且是在编译的时候就不能通过!另外就是const函数是不能调用非const函数的,即是是哪个非const函数体内没有修改成员变量的值也不行!例如下面的代码编译会不通过:View Code #include<iostream>using namespace std;class studentInfo{public: void setScore(int score){this->score=score;} int getScore() const{printScore()
阅读全文