构造函数的使用
//构造函数并不是由用户来调用的,而是在建立对象的同时自动执行;并且构造函数的名称与类的名称必须是一致的,而不是由用户任意命名的. #include "stdafx.h" #include <iostream> using namespace std; class CPen { public: CPen(); //默认构造函数的声明 CPen(int size); //构造函数的声明 int GetSize(); int SetSize(int size); void Write(); private: int m_size; }; CPen::CPen() //默认构造函数的定义 { cout << "This is constructor(构造函数) running" << endl; } CPen::CPen(int size) //构造函数的定义 { m_size = size; Write(); } void CPen::Write() { cout << "The size of cpen is:" << m_size << endl; } int main(int argc,char* argv[]) { CPen pen1; CPen pen2(10); //通常用点运算符"."来访问该对象的成员函数和成员变量 CPen *pen3 = new CPen(); //new关键字声明的对象是放在堆中的 CPen *pen4 = new CPen(20); //通常用指向成员的运算符"->"来对成员函数和成员变量进行访问. return 0; } //使用参数初始化表,对类中的成员变量进行初始化操作 //例如,先使用构造函数对类中的成员变量进行初始化操作. class CPen { public: CPen(int size, int name); //构造函数的声明 private: int m_size; int m_name; }; CPen::CPen(int size, int name) { m_size = size; Write(); } //将上述代码改成使用参数初始化表进行初始化操作: class CPen { public: CPen(int size, int name):m_size(size), m_name(name){Write();} private: int m_size; }; //从代码中可以看到,即在构造函数后加一个冒号":", 然后列出参数的初始化表. //上述代码中的参数初始化的含义是:用形参size的值初始化成员变量m_size.
学习笔记转摘于:
丝酷网 http://www.pythonschool.com/