构造器 和析构器 --完全困了
上帝懂编程?
构造器 : 是一个默认属性吗
析构器到底又是什么了:对前面所做的事情 进行清理;
构造器 -- 是一种特殊的方法, 它和普通方法的主要区别:
--构造器的名字必须和它所在类的的名字一样
--系统在创建 某个类的实例时会第一时间自动调用这个类的构造器
--构造器永远不会返回任何值
创建构造器
class Car
{
Car(void):
}定义构造器:注意大小写与类名保持一致,在结束声明之后开始定义构造器本身:
1: Car::Car(void)// 不用写void Car::Car(void)2: {3: color ="WHITE";4: engine="V8";5: wheel =4;6: gas_tank =FULL_GAS;7: }
构造对象数组:万能的数组 Car mycar[10] ;
调用语法依旧是; mycar[x].running
构造器:用来完成内存申请
析构器:用来完成 - -- 清道夫 的工作 ;析构器也永远不返回任何值 ; 复杂的类中, 析构器往往至关重要(可能引起内存泄露); 例如某个类的构造器申请了内存, 那我们就需要 …使用析构器 释放内存、
我是华丽分割线
割割割 木有小鸡鸡
这样听你来理解起来好简单的样子嘛
那么接下 ; 我们来讨论讨论; 在 继承机制中的构造器和析构器 这个比较麻烦啦 我们先跑个程序来试试吧
直观的程序上来
1: #include <iostream>2: #include <string>3: using namespace std;4:5: class BaseClass6: {7: public:8: BaseClass();9: ~BaseClass();10: void dosomething();11: };12:13: class SubClass:public BaseClass14: {15: public:16: SubClass();17: ~SubClass();18: };19:20:21:22: void BaseClass::BaseClass()23: {24: cout<<"进入基类构造器";25: cout<<"我在基类构造器 里面干了某些事";26: }27:28: BaseClass::~BaseClass( )29: {30: cout<<"进入 基类 析构器 ";31: cout<<"我在 基类 析构器 里面干了某些事 也干了某些事";32: }33:34: void BaseClass::dosomething( )35: {36: cout<<"我干了某些事.....";37: }38:39: SubClass::SubClass( )40: {41: cout<<"进入 子类 构造器 ";42: cout<<"我在 子类 构造器 里面干了某些事";43: }44: SubClass::~SubClass( )45: {46: cout<<"进入 子类 析构器 ";47: cout<<"我在 子类 析构器 里面干了某些事 也干了某些事";48: }49:50: int main(int argc, char *argv[])51: {52: SubClass subclass;53: subclass.dosomething();54: cout<<"完事收工 结束啦 ";55: return 0;56: }
有错误 不能编译通过 错误内容
[Error] error: return type specification for constructor invalid
how to fix it?

![MJLN7WRH$GADWF~Q]S)@NM2 MJLN7WRH$GADWF~Q]S)@NM2](http://images0.cnblogs.com/blog/493698/201303/01150158-3a97bed8e75c4eb0a9f5d9f4257586a5.png)
![MJLN7WRH$GADWF~Q]S)@NM2[3] MJLN7WRH$GADWF~Q]S)@NM2[3]](http://images0.cnblogs.com/blog/493698/201303/01150159-87968949fe7a43ec84228ca628f4325e.png)
![MJLN7WRH$GADWF~Q]S)@NM2[8] MJLN7WRH$GADWF~Q]S)@NM2[8]](http://images0.cnblogs.com/blog/493698/201303/01150200-37dbf931d5134243abe945cac9338784.png)
![{EH5V39EEZZD%_VE]Y4L](Q {EH5V39EEZZD%_VE]Y4L](Q](http://images0.cnblogs.com/blog/493698/201303/01150202-6005b186b3db49129688054c7168a75e.jpg)




浙公网安备 33010602011771号