多态性,友元与静态成员 基础知识小结

1.

功能晚绑定时运行时完成。

class Point

{

public:

  virtual double Area(){}

  ...

}

class Circle:public Point

{

public:

  double Area(){}    //仍为虚函数,重定义时virtual可写也可不写

}

double CalcArea(Point &ref){}

//程序运行时根据ref所引用的对象调用该对象的成员函数。

虚函数不能是友元,静态函数,不能是内联,构造函数。可以是析构函数。

2.

纯虚函数:

virtual 函数类型 函数名() = 0;

各派生类根据要求再重新定义这些虚函数。

抽象类(至少含一个纯虚函数)只能作为其它类的基类,不能建立对象,抽象类中可以定义普通函数。

3.

友元:

class Date;

class Clock;

class Clock

{

public:

  friend void Display(Clock &);

}

class Date

{

public:

  friend void Clock::Display(Date &);

}

也可以友元类:

friend 类名;

4.

静态成员:

static int sum;

static int Display();

它为类的所有对象共享,在所有对象外单独开辟空间,即使不定义对象,也分配空间(编译时)。

静态成员初始化:

数据类型 类名::静态数据成员名 = 初值;

不能再类声明中初始化。

静态成员函数不能默认访问本类的非静态成员,没有this指针。

访问方式:

class Student;

Student s1;

Student::sum ;

或s1.sum ;

时间: 2024-10-09 21:50:13

多态性,友元与静态成员 基础知识小结的相关文章

awk基础知识小结(1)

1.使用规则 awk 适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行需要特殊技巧程序设计. awk  的语法较为常见.它借鉴了某些语言的一些精华部分,如C 语言.python 和 bash. 第一个 awk 让我们继续,开始使用 awk,以了解其工作原理.在命令行中输入以下命令: $ awk '{ print }'  /etc/passwd 您将会见到 /etc/passwd 文件的内容出现在眼前.现在,解释 awk 做了些什么.调用 awk 时,我们指定  /etc/passwd

awk基础知识小结(2)

10.循环结构循环结构awk 的 while 循环结构,它等同于相应的 C 语言 while 循环.awk 还有 "do...while" 循环,它在代码块结尾处对条件求值,而不象标准 while 循环那样在开始处求值.它类似于其它语言中的 "repeat...until" 循环.示例:do...while 示例 {     count=1     do {    print "I get printed at least once no matter w

javascript之正则表达式基础知识小结

javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料. 元字符 ^ $ . * + ? = ! : | \ / ( ) [ ] { } 在使用这些符号时需要用“\”来进行转移. 如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\” 简单匹配 1.直接量 /javascript/ 匹配带有“javascript”的字符串 比如“javascript is an object-oriented scripting language” 2.[

javascript DOM 操作基础知识小结

经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的. DOM添加元素,使用节点属性 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.

第一部分基础知识小结,基础数据类型到循环

# Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意组成 # 2.不能以数字开头 # 3.不能使用python关键字 # 4.变量要具有可描述性 # 5.变量不能是中文 # 5.官网推荐骆峰体和下划线,这里推荐下划线 # 2,字节和位的关系.(2分) # 1字节 = 8位 # 3,'太白'使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占

[麦先生]PHP面向对象基础知识小结

麦先生引言: 伴随着PHP对于面向对象的思想的引入,其执行高效率,代码可塑性,可重用性也促使PHP进入了井喷式发展,对于很多像我这样的初学者而言,如何理解面向对象的思想并灵活运用最为重要; 面向对象的定义:万物皆对象,每一个拥有特定功能和属性的事务都可以成为一个对象,而运用面向对象的思想就是摒弃过去的过程化开发的繁琐和重复,让对象替我们办事情;那么多个拥有相似功能的对象我们可以把他们看成一个大类,称之为类; 面向对象的三大特点:封装,继承,多态; 类的声明方式:class关键字+类名+{};其中

HTML基础知识小结1

HTML基本概念 HTML基本概念理解:(HTML)不是一种编程语言,而是一种描述性的标记语言. 完整的HTML文件包括标题.段落.列表.表格.绘制的图形以及各种嵌入对象,这些对象统称为HTML元素. HTML基本标记 头标记<head>..</head> 标题标记<title>..</title> 元信息标记<meta>...</meta> <meta>标签提供的属性及其取值如下表所示: 属性 值 描述 charset

java 基础知识小结

1. java 有三个求整的函数 math.floor ()  (floor 是地板的意思)  向下求整 math.ceil ()  (ceil 是天花板的意思 ) 向上求整 math.round()  (round有四舍五入的意思)四舍五入 public class A{ public static void main(String[] args){ float f =1.1f; double d = 2.9; System.out.println(Math.ceil(f)); System.

PHP基础知识小结

1.PHP中类型转换 自动转换 其它类型转换数值型 true->1 false->0 null->0 'true'->0 '-3abc'->-3 '3.123abc'->3.123 '3e2av'->300 其它类型转换成字符串型 数值型->数值本身 true->1 false->空字符串 null->空字符串 数组->Array 对象->Fatal Error(致命错误,不能直接输出对象) 资源->Resource id