MFC C++学习:构造函数与类的初始化

需积分: 9 2 下载量 8 浏览量 更新于2024-09-13 收藏 4KB TXT 举报
"mfc c++视频笔记 - 描述c++学习和MFC视频笔记内容,强调构造函数在类中的作用及默认构造函数的规则。标签包括c++、MFC、视频和笔记。部分内容讨论了成员函数、this指针、继承、访问修饰符以及虚函数的应用。" 在C++编程中,构造函数是类的一个特殊成员函数,它的主要职责是在创建对象时分配内存并初始化成员变量。每个类至少有一个构造函数,如果开发者没有显式定义,编译器会自动提供一个默认构造函数,仅负责分配内存,不做任何初始化工作。一旦类中定义了一个构造函数(无论是否带参数),C++就不会再提供默认的无参构造函数。若需要无参构造函数,必须由程序员自己定义。 MFC(Microsoft Foundation Classes)是C++库,用于构建Windows应用程序,它扩展了标准C++库,提供了与Windows API交互的类。在MFC中,C++的面向对象特性被充分利用,构造函数在创建MFC对象时起着关键作用。 在C++中,成员函数是类的一部分,它们可以访问类的私有和保护成员。`this`指针是一个隐含的成员指针,它指向调用成员函数的对象实例。例如,当调用`pt.output(5)`时,`this`指针会指向`pt`对象,使得成员函数可以操作`pt`的成员变量。 继承是面向对象编程的一个重要概念,允许创建一个新类(派生类)作为现有类(基类)的扩展。如示例所示,`class fish : public animal`表示`fish`类从`animal`类继承,并且使用`public`关键字表明`animal`的公有成员在`fish`中也是公有的。访问修饰符(`public`、`protected`和`private`)控制类的成员对外部代码的可见性,分别表示公开、受保护和私有。 虚函数(`virtual`)是C++多态性的体现,它允许子类重写基类的方法。`virtual void breathe()`声明`breathe`为虚函数,这意味着当通过基类指针或引用调用此函数时,将根据实际对象类型执行相应的重定义版本。如果未声明为虚函数,那么将始终调用基类的实现,即使实际对象是子类类型。 此外,关于变量赋值,`int &b = a; b = 5;`这里`b`是`a`的引用,所以`b = 5`实际上改变了`a`的值。而`int c = 7; b = c;`则涉及到了拷贝赋值,`b`的值变为7,但`a`的值保持不变。这种差异在处理复杂对象时尤其重要,因为拷贝可能会涉及深拷贝或浅拷贝的概念。 这份笔记涵盖了C++的关键概念,包括构造函数、成员函数、继承、访问修饰符和虚函数,这些都是理解和使用MFC框架进行Windows程序开发的基础。在编写C++代码时,理解这些概念对于创建高效、健壮的程序至关重要。