原创 VC++基础实验2--Win32 console application

2013-1-14 16:41 1576 18 18 分类: 软件与OS 文集: VC++学习

2.2 VC++例程Cplusplus

建立一个Win32 console application工程Cplusplus,作为对C++的体验和理解。程序中建立了一个基类animal,一个派生类fish。通过此例程可以直观的理解类、继承、虚函数等C++基础概念。

软件组织结构如下图:

20130113220048521001.png

SourceCode为zip.gifCplusplus.zip

 

2.2.1 C++基础知识

       类比C语言的结构体(struct)概念体会C++中类(class)的概念。类中可以定义函数,可以定义公有私有属性,但结构体不行。

       类是抽象概念,类的对象是实例,可以创建,可以销毁。

       构造函数。C++构造函数的名字和类名相同,没有返回值,作用是对对象本身做初始化工作。

       析构函数。定义格式为~类名。是反向的构造函数,没有返回值,一个类中只能有一个析构函数,作用是清除类的对象。对一个对象来说,析构函数是最后一个被调用的成员函数。一般在构造函数中初始化对象的成员变量,分配内存空间,在析构函数中释放资源。

       函数的重载。函数的参数类型、参数个数不同,才能构成函数的重载。

       this指针。This指针是一个隐含指针,指向对象本身。

       继承。class fish:public animal

       在构造子类时,可以显示地调动父类的带参数的构造函数。Fish():animal(400,300);

       多重继承。多重继承的语法与单一继承很类似class B:public C,public D

       虚函数。用virtual关键字申明的函数叫做虚函数。当C++编译器在编译时,发现animal类的breathe()函数时虚函数,就会采用迟邦定技术,即编译时并不确定具体调用的函数,而是在运行时依据对象的类型来确认调用的是哪一个函数,这种能力叫做C++的多态性:在基类的函数前加上virtual关键字,在派生类中重新写该函数,运行时将会根据对象的实际类型来调用相应的函数,如果对象是派生类就调用派生类的函数,如果是基类就调用基类的函数。

    animal::~animal()。其中::叫做域标识符,用于指明一个函数属于哪个类或一个数据成员属于哪个类。::前面如果不跟类名,表示是全局函数或全局变量,不属于某类。

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
18
关闭 站长推荐上一条 /3 下一条