封装
我该有的我该做的
构造函数与析构函数
| 构造/析构函数 | 使用方式 |
|---|
| 默认构造函数 | People a; |
| People(const People &a) | 拷贝构造,与=不等价 |
| People(string name); | People a(“bug”) |
| ~People() | 无 |
class People {
public:
People(){}
People(string name) {//有参构造
this->name = name;
}
~People() {
cout << "destructor" << endl;
}
string name;
//int *arr;
};
int main() {
People b("fangsong");
People a = string("string");
//a.arr[9] = 12
cout << a.name << endl;
return 0;
}
#include
#include
#include
#include
#include
#include
#include
#include
类属性方法
static 类成员,类方法
类的成员与方法
class People {
public:
void say(string word);
void run(location &loc)
///
static void is_valid_height(double height);
/
private:
static int totle;
string __name;
Day __birthday;
double __height;
double __wright;
};
类属性与类方法中,类属性可以记录类对象的个数,类方法中不能访问this指针;
const方法
不去修改对象中的值
const类型对象只能调用const类型方法
修饰后只能类const访问
class People {
public:
void say(string word);
void run(location &loc)
///
string &name() const()
///
static void is_valid_height(double height);
private:
static int totle;
string __name;
Day __birthday;
double __height;
double __wright;
};
类属性与const代码演示
#include
#include
#include
#include
#include
#include
#include
#include
深拷贝与浅拷贝
#include
#include
#include
#include
#include
#include
#include
类型转换
#include
#include
#include
#include
#include
#include
#include
运算符重载
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include