C++构造函数初始化类的特殊成员变量——类
来源:互联网 发布:怎么申请开通80端口 编辑:程序博客网 时间:2024/06/02 02:47
A类 类变量、B类 变量作为D的私有成员,避免使用继承的手法。
构造函数,可以传参数把m_classA,m_classB初始化,也可以调用D类不传参数的构造函数初始化这两个成员,然后调用set方法设置参数。
头文件
#ifndef PATTERN_H#define PATTERN_Hclass A{public:A(int m);A();void set(int m);void print();private:int m_a;};class B{public:B(int m);B();void set(int m);void print();private:int m_b;};class D{public:D(int a,int b);D();void set(int a,int b);void print();private:A m_classA;B m_classB;};#endif
cpp文件
#include <iostream>#include "pattern.h"A::A(int m){m_a = m;}A::A(){m_a = 0;}void A::set(int m){m_a = m;}void A::print(){std::cout<<"A "<<m_a<<std::endl;}B::B(int m){m_b = m;}B::B(){m_b =0 ;}void B::print(){std::cout<<"B "<<m_b<<std::endl;}void B::set(int m){m_b = m;}D::D(int a,int b):m_classA(a),m_classB(b){}D::D(){m_classA.set(0);m_classB.set(0);}void D::set(int a,int b){m_classA.set(a);m_classB.set(b);}void D::print(){m_classA.print();m_classB.print();}int main(){D classD;classD.print();classD.set(5,3);classD.print();}
阅读全文
0 0
- C++构造函数初始化类的特殊成员变量——类
- 类的特殊成员函数——构造函数
- 类中特殊成员变量的初始化
- 类中特殊成员变量的初始化
- 类中特殊成员变量的初始化
- 类的特殊成员变量初始化
- 类的成员变量 声明顺序 决定 初始化顺序(构造函数初始化列表不影响)
- C++类构造函数初始化列表及初始化成员变量的误区
- C++构造函数对类成员变量初始化,使用初始化列表和构造函数内部直接赋值 的区别
- C++类成员变量和构造函数初始化
- 类的几种特殊的成员变量的初始化
- C++类中特殊成员变量的初始化方式
- c++类中特殊数据类型成员变量的初始化
- 特殊成员变量的初始化
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- Linux按键驱动程序设计(4)-中断分层技术
- 配置文件+c3p0数据库连接池连接mysql数据库报错:Access denied for user 'root'@'localhost' (using password: YES)
- audio Framework 简述
- HDU2682 Tree
- Mysql 5.7新版本创建用户
- C++构造函数初始化类的特殊成员变量——类
- #Paper Reading# Manifold-Ranking Based Topic-Focused Multi-Document Summarization
- JavaScript Array 对象
- 机器学习实战 朴素贝叶斯
- 如何理解AOP
- CKEditor图片上传
- mysql格式化日期
- #8 Actions
- JavaScript String 对象