C++
Conan_Lan
这个作者很懒,什么都没留下…
展开
-
常见的不不能声明为虚函数的函数
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。 1、为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思, 因此编译器会在编译时邦定函数。 2、为什么C++不支持构造函数为虚函数?转载 2014-06-26 15:52:24 · 530 阅读 · 0 评论 -
C++中空类非空
在C++中,一个类如果是一个空类,也就是说没有任何成员变量原创 2014-06-16 00:23:05 · 675 阅读 · 0 评论 -
C++ 常成员函数和常对象以及this指针的重要理解
先明确几个概念:1. 常对象只能调用常成员函数。2. 普通对象可以调用全部成员函数。3. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。4. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 5. 在C++中,this指针被隐转载 2014-06-27 10:20:09 · 1661 阅读 · 0 评论 -
C++静态成员(静态成员数据和静态成员方法)浅析
C++类中的静态成员有一个非常好的功能,那就是无论类定义了多少个对象,这些对象始终都共同使用这一个静态成员例如: class A{ static int num;A(){num++} } int A::num=0; 就会有如下效果: A a,b,c,d; cout可以看出,在每个对象中的num成员都只有一个副本。在内存中也是原创 2014-06-27 10:06:52 · 477 阅读 · 0 评论 -
C++面试宝典 知识点集锦
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应,free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,转载 2014-06-27 16:13:51 · 6865 阅读 · 0 评论 -
函数模板及其重载
#includeusing namespace std;template T add(T a[], int n){ int i; T s = 0; for (i = 0; i < n; i++) s += a[i]; return s;}template //函数模板重载需再申明一次(根据不同参数调用不同模板)T add(T a[], int n, T b[], int原创 2014-06-27 11:06:36 · 490 阅读 · 0 评论 -
带默认参数值的函数的简单理解
#includeusing namespace std;int A(int a,int b=0){ return b;};int main(){ cout << A(1); getchar();}原创 2014-06-26 15:10:57 · 776 阅读 · 0 评论 -
关于包含纯虚函数的类的一点理解
包含纯虚函数的基类不能实例化原创 2014-06-26 16:29:06 · 836 阅读 · 0 评论 -
构造函数为什么不能是虚构造函数
class A{ public: virtual A(){ this->value = 0; } private: int value; };转载 2014-06-26 15:31:25 · 821 阅读 · 0 评论 -
C++ 遍历目录下文件
function:遍历目录下所有文件,返回文件总数,子文件夹总数(修改一下可以获得全部文件名等)。#include "stdlib.h"#include "direct.h"#include "string.h"#include "io.h"#include "stdio.h" #include "iostream"using namespace std;class CBrow转载 2014-06-25 22:55:38 · 587 阅读 · 0 评论 -
关于delete的一点探讨
#includeusing namespace std;class Box{public: int x; int y;public: Box(){ x = 0; cout << "gouzao" << endl;; } Box(int a, int b){ x = a; y = b; cout << "gouzao" << endl; } ~Box(){ cout << "xi原创 2014-06-16 12:16:08 · 567 阅读 · 0 评论