#include<iostream>
using namespace std;
class ThisApp {
public:
int a=0;
ThisApp();
int b=6;
int q;
void add(int m,int n);
private:
int c=5;
int d;
};
ThisApp::ThisApp()
{
add(4, 0);
cout << "kias" << endl;
}
void ThisApp::add(int m,int n)
{
q = 5;
a + b;
cout << "m+n = " << m+n << endl;
}
int main()
{
ThisApp myapp;
myapp.add(4, 6);
}
/*
* 特别说明
*1.当类中没有初始化的元素并且没有定义构造函数时,在定义类对象的时候不会执行任何指令
* eg: ThisApp myapp; 单步调试不会执行这句话
*
*2.当类中只初始化元素但没有定义构造函数时,在定义类对象的时候只会执行定义类对象的指令
* eg: ThisApp myapp; 只会执行者一条指令
*
*3.当类中初始化元素而且同时定义构造函数时,在定义类的时候不但会执行定义类对象指令还会执行初始化
* 元素的指令。
* eg: 这里会先执行 ThisApp构造函数的 { ,之后再执行初始化元素的指令,之后再执行ThisApp中的内容
* 最后执行 } 结束
*
*
* 注意: 以上的初始化操作不分 pbulic 还是 private 并且执行顺序是从上到下的,即先定义的先执行
*/
c++ 构造函数初始化的执行次序
最新推荐文章于 2024-02-18 09:54:39 发布