类
文章平均质量分 60
dahai_881222
这个作者很懒,什么都没留下…
展开
-
C++ 虚函数 纯虚函数
C++ 虚函数,纯虚函数 纯虚函数定义如下: virtual functionname (parameter ) =0 ; 类的一个成员定位虚函数的实际意义在于让C++知道该函数并无意义,它的作用只是为了让派生类进行函数重载保留位置。纯虚函数的定义方法就是在类的虚函数后面加上 “ =0 ” 标记,类中一旦出现了纯虚函数的定义,那么此类为抽象类。实例 1. #includ原创 2012-08-06 23:01:20 · 344 阅读 · 0 评论 -
虚函数 以及覆盖
虚函数以及覆盖 class A{public: virtual void f() { cout }};class B:public A{public: virtual void f() { cout }};int main(){ A *pa = new A(); pa-原创 2012-08-07 11:40:52 · 724 阅读 · 0 评论 -
全局变量,局部变量,静态变量,const
全局变量:全局作用域,只需在一个源文件里定义,就可以作用于所有的源文件了,如果没有包含这个变量的其他文件可以用extern关键字,进行声明,扩大了作用域范围。 它的数据存储在静态数据区。局部变量:局部作用域,只能在局部函数中使用,调用函数是分配栈内存,函数使用完成后,释放内存。数据存储在栈中。静态全局变量:作用于定义它的文件里面,其他的文件不能使用,不能原创 2012-08-31 15:24:11 · 713 阅读 · 0 评论 -
关于空类,含有虚函数的类的大小
1、为何空类的大小不是0呢?为了确保两个不同对象的地址不同,必须如此。类的实例化是在内存中分配一块地址,每个实例在内存中都有独一无二的二地址。同样,空类也会实例化,所以编译器会给空类隐含的添加一个字节,这样空类实例化后就有独一无二的地址了。所以,空类的sizeof为1,而不是0.2、请看下面的类:class A{ virtual void f(){} };class B:pub原创 2012-08-12 11:04:38 · 2732 阅读 · 0 评论 -
Printf()函数讲解
printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为转换说明.因为它们指定了如何不数据转换成可显示的形式.下列列出的是ANSI C标准printf()提供的各种转换说明. 转换说明及作为结果的打印输出%a 浮点数、十六进制数字和p转载 2012-08-08 22:18:01 · 519 阅读 · 0 评论 -
关于运算符重载 成员函数运算符重载 友元函数运算符重载
class Complex{ public: Complex(){real = 0; image = 0;} Complex( int i ,int j); friend Complex operator+(Complex &b1 ,Complex &b2); //s属于友元函数,非成原创 2012-08-08 21:55:39 · 2355 阅读 · 0 评论 -
C++中的强制类型转换函数
标准c++中主要有四种强制转换类型运算符: const_cast, reinterpret_cast, static_cast, dynamic_cast等等。 1)static_cast(a) 将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。 表达式static_cast(a),a的值转换为模板中指定的类型T原创 2012-08-08 17:12:50 · 552 阅读 · 0 评论 -
运算符重载
1什么是运算符重载所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。运算符也可以重载。实际上,我们已经在不知不觉之中使用了运算符重载。现在要讨论的问题是: 用户能否根据自己的需要对C++已提供的运算符进行重载,赋予它们新的含义,使之一名多用。譬如,能否用“+”号进行两个复数的相加。在C++中不能在程序中直接用运算符“+”对复数进行相加运算。用户必转载 2012-08-08 16:50:37 · 516 阅读 · 0 评论 -
C++ 拷贝构造函数
想要防止一个类被实例化,可以把这个类设为抽象类,即这类里面设置为有纯虚函数,或者把这个类的构造函数设置为private;如果想要防止编译器生成默认的拷贝构造函数的时候,可以将构造函数设置为private;如果自己没有编写拷贝构造函数,那么编译器会生成默认的拷贝构造函数如果自己编写了一个构造函数,编译器还会生成一个默认的拷贝构造函数原创 2012-08-08 16:22:30 · 294 阅读 · 0 评论 -
C++虚函数表解析
C++ 虚函数表解析 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做转载 2012-08-07 22:49:33 · 525 阅读 · 0 评论 -
C++ 继承
c++继承经典例子#include class Base{private: int b_number;public: Base( ){} Base(int i) : b_number (i) { } int get_number( ) {return b_number;} void pri原创 2012-08-07 11:45:31 · 394 阅读 · 0 评论 -
多态虚函数
多态虚函数 多态性 <!--td {font-size:9pt; line-height:150%}--> 当不同的对象接受到相同的消息名(或者说当不同的对象调用相同的名称的成员函数)时,可能引起不同的行为(执行不同的的代码)。这种现象称为多态性。将函数调用链接上相应函数体的代码的过程称为函数联编(简称联编)。在C++中,根据联编时刻不同原创 2012-08-07 10:44:53 · 666 阅读 · 0 评论 -
C++ 类的 友元
类具有封装和信息隐藏的特性,只要类得成员函数才可以访问类中的私有成员,程序中的其它函数无法访问类中的私有成员。友元是一种定义在类外部的普通函数。友元函数不是成员函数,但是可以访问类中的私有成员,但是它破坏了类的封装特性和隐藏特性,使得非成员函数可以访问类中的私有成员, class point { private: float x; float原创 2012-08-07 09:50:34 · 2043 阅读 · 0 评论 -
拷贝构造函数,赋值函数
拷贝构造函数,赋值函数 编写string类的拷贝构造函数,赋值函数class string{ public: string(const char *str = NULL); string(const string &other); ~string(void); string &operate = (const str原创 2012-08-06 21:44:26 · 274 阅读 · 0 评论 -
C++ 多态
简单说就是允许派生类对象的地址赋值给父类类型的指针。 虚函数允许被派生类重新定义的基类的成员函数。虚函数在派生类中被改写的,这种被称作覆盖 override覆盖是派生类重写了基类的虚函数,重写的虚函数属于覆盖,因此需要有一致的参数表和返回值,真正与多态相关的是覆盖,当派生类重新定义的基类的虚函数后,基类的指针根据复制给他的不同的派生类的指针,动态的调用属于该派生类的该函数,这样原创 2012-08-07 09:38:19 · 287 阅读 · 0 评论