Skip to content

Latest commit

 

History

History
46 lines (40 loc) · 942 Bytes

构造和析构.md

File metadata and controls

46 lines (40 loc) · 942 Bytes

构造函数

例题1

#include <iostream>
class A{
public:
    A(int X){cout << "ok"!;}
    A(){}
};
int main(){
    A
}

拷贝构造函数(复制构造函数)

  • 创建一个对象时,用一个同类的对象对其进行初始化
ClassName (const ClassName &);

Rational(const Rational &obj){
    num = 2*obj.num;
    den = obj.den;
}

析构函数

自定义拷贝函数

const对象

const Classname Objectname;//只能初始化,不能赋值
  • 不修改数据成员的函数都应声明为const类型。
DataName FuncName() const {function body}

int f() const {}
  • 对于const对象只能调用const函数
  • const数据成员(只能在类构造函数的初始化表中进行,不能在构造函数中赋值)的声明:
class ClassName{
    const DataName Variable;//不能在成员声明时赋值
}