关于静态成员的描述我很容易认为它不是对象的成员。第一是因为我认为对象是某个具体可以描述类的特征;第二要想作为类的成员,就要是简单的数据。但是确切的说,对象可以是具体的,也可以是抽象的,而类中的成员正是抽象化的,而静态成员是静态的数据,而又因为对象有自己的静态特征–就是可以用某中数据来描述,所以它可以作为类的成员。总而言之,c++语言中可以创建static数据成员,const成员,引用成员,const引用。
一个类中可以声明具有类类型的数据成员。类是什么?类是c++语言的数据抽象和封装机制。简单来说,可以把类看作是数学中的集合。一个类中可以有多个构造函数,但是只有一个析构函数。析构函数和构造函数都没有返回值,都不能被继承,构造函数可以有默认函数析构函数没有参数。
不同继承方式如下图:
c++支持面向对像设计的四个要素:抽象性,封装性,继承性,多态性。
int CSample::n = 30;
CSample::CSample()
{ x = 0; n++; }
void CSample::Display()
{ cout << “x=” << x << “,n=” << n << endl; }
void main()
{
CSample a, b;
a.Display();
b.Display();
}
这里的n在程序运行时就是加1,之后出现a,b后n再次加1,但是a,b是同等地位,a和b的n是一样的储存空间。
void main(){
Ap = new A;
p->fx();
p = new B;
p->fx();
p->fy();
p->A::fy();
((B)p)->fy();
}
这里的第二p指针容易弄错,它实际上还是指向的A的首地址,而p=new B只是为B创建了新的内存空间并没有覆盖在A上。
Windows API窗口编程的主要步骤:
1)注册窗口类; (2)程序初始化(或,分成2步:创建窗口,显示窗口)
(3)建立消息主循环 (4)使用窗口函数处理消息
简述MFC中文档-视图结构中,文档类和视类各自的职责以及相互间的怎样互动方法:
(1)文档负责数据的存储、管理、保存
(2)视图负责数据的显示、用户交互
(3)文档通过UpdateAllViews来使得视图重绘
(4)视图通过GetDocumnet函数来得到相应的文档指针
在基础编程中,我更加的清楚以下几点:
1.符号的重载,基类中声明是类名+operator+符号(类名&参数名)(这是成员函数重载);友元函数是friend+类名+operator+符号(类名& 参数名)。当然这里的参数名也可以放在函数里面创建。
2.派生类继承时在构造函数中要加上基类中的参数,如,基类complex(int n,int m);派生类中number(int n,int m,int i):complex(n,m)。
3.派生类继承也可以加上virtual变成虚的,在多重继承中直接在派生类后面用“,”隔开。