WEB开发网
开发学院软件开发C++ C++初级之基本知识 阅读

C++初级之基本知识

 2010-11-02 08:59:37 来源:WEB开发网   
核心提示:21. 在基类构造函数中调用的虚拟实例总是在基类中活动的虚拟实例(基类本身定义的虚函数),实际上,C++初级之基本知识(3),在基类构造函数中,派生类对象只不过是一个基类类型的对象,常见方法:把类模本的定义和实现放在同一个文件中,27. C++前置增量运算符和后置增量运算符的函数原型://前置增量运算符ClassNam

21. 在基类构造函数中调用的虚拟实例总是在基类中活动的虚拟实例(基类本身定义的虚函数)。实际上,在基类构造函数中,派生类对象只不过是一个基类类型的对象。而已对于派生类对象在基类析构函数中也是如此;派生类部分也是未定义的,但是这一次不是因为它还没有被构造,而是因为它已经被销毁

22. 运算符重载规则:1)插在运算符(),[],->,=的函数一定要声明为类的成员。2)假定某个类,例如OpOverClass,装载运算符op,则a)若op最左边的操作数是一个不同类型的类对象时,op的函数一定要作为非成员――即类的友员。

b)若重载运算符op是类的成员函数,当op用于OpOverClass类型的对象时,op最左边的操作数必须是OpOverClass类型(对象或是引用)。因此<<和>>只能重载成为类的友员函数。

23. 运算符函数是带有返回值的函数。双目运算符作为类的成员时仅有一个参数,另一个就是类自身(this);作为友员存在时必须有两个参数。单目运算符作为类成员时,没有参数;作为友员时有一个参数。

24. 模板语法:

template <class Type>

declaration;

其中,Type是用户定义的标识符,它作为参数传递类型(数据类型),declaration是类或是函数,模板头中的class用来引用任意用户定义或是内建的数据类型。

template <class Type>

funcType cType<Type>::func(paremeters)

其中,cType是类模板, func是类cType的成员函数。funcType是函数类型,如void。

cType<int> x; 声明x是cType类型的对象,参数类型为int。

25. 函数模板的类型由实际调用时,传递的实际参数的类型确定。类模板的类型必须在使用模板定义对象时确定。由于在模板内部可能会使用传入的类型来定义变量,显然传入的参数不能是引用类型,引用无法定义变量。

26. 由于给模板传递参数是在编译时发生的,而类的实参是在用户编写的代码中指定的,并且若没有实参数传递给模板的话,编译器不能实例化函数模板。因此,不能在没有用户代码的情况下,单独编译模板的实现文件。常见方法:把类模本的定义和实现放在同一个文件中。

27. C++前置增量运算符和后置增量运算符的函数原型:

//////////////前置增量运算符

ClassName operator++();   //定义

//////////////////////实现

ClassName ClassName ::operator++(){

   //increment

  return *this;

}

///////////////////后置增量运算符

ClassName operator++(int);   //定义,这里的int仅为了让编译器能够识别两者

/////////////////////实现

ClassName ClassName ::operator++(int){

  ClassName temp = *this;   //key, 新实例化一个类对象,影响效率

   ///increment

上一页  1 2 3 4  下一页

Tags:C++初级 基本知识

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接