C++基础
文章平均质量分 77
jhj735412
这个作者很懒,什么都没留下…
展开
-
extern 用法,全局变量与头文件(重复定义)
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或 函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有 所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预转载 2012-04-13 09:43:59 · 668 阅读 · 0 评论 -
私有继承、保护继承、公共继承之间的区别(代码形式)
// Inheritance.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;class Parent{public: Parent(int var = 1) { pub = var; ptd = var; prt = var; }public: int pub;原创 2012-05-14 09:21:16 · 4116 阅读 · 0 评论 -
C++继承、虚继承、虚函数类的大小问题
一、真空类class CNull{};长度:1内存结构:??评注:长度其实为0,这个字节作为内容没有意义,可能每次都不一样。 二、空类class CNull2{public: CNull2(){printf("Construct/n");} ~CNul原创 2012-05-18 21:36:36 · 9925 阅读 · 9 评论 -
运算符重载专题
1.不能重载的运算符 类属关系运算符“.”成员指针运算符“*”作用域分辨符“::”sizeof运算符三目运算符“?:”2.基本规则1.一元操作符可以是不带参数的成员函数或带一个参数的非成员函数。2.二元操作符可以是带一个参数的成员函数或带两个参数的非成员函数。3.operator=、operator[]、operator()、op原创 2012-05-19 10:08:52 · 1026 阅读 · 0 评论 -
typeid操作符详解
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和typeid。 dynam转载 2012-05-19 16:16:38 · 654 阅读 · 0 评论 -
数组名与指针区别
魔幻数组名请看程序(本文程序在WIN32平台下编译):#include int main(int argc, char* argv[]) { char str[10]; char *pStr = str; cout sizeof(str) cout sizeof(pStr) return 0; } 1、数组名不是指针我们先来推翻"数组名就是指针"的说法,用反证法。原创 2012-07-03 08:37:35 · 524 阅读 · 0 评论 -
C++初始化问题
1 普通变量,const ,static,const static普通变量:可以再初始化链表,和构造函数中初始化const对象 或 reference对象:只能在初始化列表中初始化static:只能在累的外面定义和初始化const static:如果是Int 型可以在类中声明时直接初始化,其他类型必须在类外面初始化 和static的区别是初始化的时候要加const修饰原创 2012-09-18 10:09:17 · 526 阅读 · 0 评论