前言
C++主要还是面向对象的语言,要想灵活使用C++,就要对类有的编写有深入认识.围绕"怎样使用类"这个主题,汇集一些典型代码.这部分内容不涉及设计模式,只是类的基础语法上的一些提升.虽然设计模式也在讨论类的各种使用,但他是偏向于用类来实现各种场景.
构造函数中被忽略的容器类对象
以下建立一个tmp类,一个Demo类.Demo使用默认构造函数,有一个私有属性name,一个公有ltp
#include<iostream>
#include<list>
using namespace std;
class Tmp { //Tmp类,数据类
int age;
public:
Tmp(int ag):age(ag){}
int get_age() { return age; }
};
class Demo { //Demo类,容器
private:
string name;
public:
list<Tmp> ltp; //list容器类对象,数据公有
void dosomething() { cout << "ok" << endl; }
};
测试代码:
int main(void) {
Demo de; //Demo类对象生成
Tmp tp(18); //Tmp类对象生成
de.ltp.push_back(tp);
for (auto pr = de.ltp.begin(); pr != de.ltp.end(); pr++) {
cout<<pr->get_age()<<endl;
}
cout <<"bye" << endl;
}
测试结果:
18
bye
对比之前的构造函数:内置数据类型的属性,用默认构造函数,最多报警告"未初始化对象",而使用容器类对象作类的属性,警告都没报.而且不影响他调用容器类对象方法来对数据进行处理.