这个“析构函数”和“构造函数”怎么回事呢?

这个“析构函数”和“构造函数”怎么回事呢?,第1张

这里其实只是打印两句话,没什么别的意义,而你在这里声明了一个全局对象eA,现在我们讨论它的执行顺序,在产生一个对象前,就要执行该对象的构造函数,并且全局对象在main函数前面声明,所以构造函数也先于主函数执行,于是就打印了One turn of,而后进入了主函数,由于你给了系统暂停指令,显然该程序没有结束,更重要的是它没有退出主函数,而由于全局对象的析构函数是在程序推出前最后执行的,所以Two turn of就打印不了了

希望你能明白!

using System

using System.Drawing

using System.Collections

using System.ComponentModel

using System.Windows.Forms

using System.Data

namespace jisuan

{

/// <summary>

/// Form1 的摘要说明。

/// </summary>

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.TextBox textBox1

private System.Windows.Forms.TextBox textBox2

private System.Windows.Forms.TextBox textBox3

private System.Windows.Forms.ComboBox comboBox1

private System.Windows.Forms.Button button1

private System.Windows.Forms.Button button2

private System.Windows.Forms.Button button3

/// <summary>

/// 必需的设计器变量。

/// </summary>

private System.ComponentModel.Container components = null

public Form1()

{

//

// Windows 窗体设计器支持所必需的

//

InitializeComponent()

//

// TODO: 在 InitializeComponent 调用后添加任何构造函数代码

//

}

/// <summary>

/// 清理所有正在使用的资源。

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose()

}

}

base.Dispose( disposing )

}

#region Windows 窗体设计器生成的代码

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.textBox1 = new System.Windows.Forms.TextBox()

this.textBox2 = new System.Windows.Forms.TextBox()

this.textBox3 = new System.Windows.Forms.TextBox()

this.comboBox1 = new System.Windows.Forms.ComboBox()

this.button1 = new System.Windows.Forms.Button()

this.button2 = new System.Windows.Forms.Button()

this.button3 = new System.Windows.Forms.Button()

this.SuspendLayout()

//

// textBox1

//

this.textBox1.Location = new System.Drawing.Point(24, 72)

this.textBox1.Name = "textBox1"

this.textBox1.Size = new System.Drawing.Size(100, 21)

this.textBox1.TabIndex = 0

this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged)

//

// textBox2

//

this.textBox2.Location = new System.Drawing.Point(312, 72)

this.textBox2.Name = "textBox2"

this.textBox2.Size = new System.Drawing.Size(100, 21)

this.textBox2.TabIndex = 1

//

// textBox3

//

this.textBox3.Location = new System.Drawing.Point(448, 72)

this.textBox3.Name = "textBox3"

this.textBox3.Size = new System.Drawing.Size(88, 21)

this.textBox3.TabIndex = 2

//

// comboBox1

//

this.comboBox1.Items.AddRange(new object[] {

"+",

"-",

"*",

"/"})

this.comboBox1.Location = new System.Drawing.Point(152, 72)

this.comboBox1.Name = "comboBox1"

this.comboBox1.Size = new System.Drawing.Size(121, 20)

this.comboBox1.TabIndex = 3

this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged)

//

// button1

//

this.button1.Location = new System.Drawing.Point(64, 184)

this.button1.Name = "button1"

this.button1.Size = new System.Drawing.Size(104, 32)

this.button1.TabIndex = 4

this.button1.Text = "计算"

this.button1.Click += new System.EventHandler(this.button1_Click)

//

// button2

//

this.button2.Location = new System.Drawing.Point(216, 192)

this.button2.Name = "button2"

this.button2.Size = new System.Drawing.Size(75, 23)

this.button2.TabIndex = 5

this.button2.Text = "清除"

this.button2.Click += new System.EventHandler(this.button2_Click)

//

// button3

//

this.button3.Location = new System.Drawing.Point(376, 192)

this.button3.Name = "button3"

this.button3.Size = new System.Drawing.Size(75, 23)

this.button3.TabIndex = 6

this.button3.Text = "退出"

this.button3.Click += new System.EventHandler(this.button3_Click)

//

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(6, 14)

this.ClientSize = new System.Drawing.Size(656, 366)

this.Controls.Add(this.button3)

this.Controls.Add(this.button2)

this.Controls.Add(this.button1)

this.Controls.Add(this.comboBox1)

this.Controls.Add(this.textBox3)

this.Controls.Add(this.textBox2)

this.Controls.Add(this.textBox1)

this.Name = "Form1"

this.Text = "Form1"

this.ResumeLayout(false)

this.PerformLayout()

}

#endregion

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main()

{

Application.Run(new Form1())

}

public double jia(double a,double b)

{

return a+b

}

public double jian(double a,double b)

{

return a-b

}

public double cheng(double a,double b)

{

return a*b

}

public double chu(double a,double b)

{

return a/b

}

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)

{

}

private void textBox1_TextChanged(object sender, System.EventArgs e)

{

}

private void button1_Click(object sender, System.EventArgs e)

{

string i=this.comboBox1.SelectedItem.ToString()

switch(i)

{

case "+":this.textBox3.Text=this.jia(double.Parse(this.textBox1.Text),double.Parse(this.textBox2.Text)).ToString()

break

case "-":this.textBox3.Text=this.jian(double.Parse(this.textBox1.Text),double.Parse(this.textBox2.Text)).ToString()

break

case "*":this.textBox3.Text=this.cheng(double.Parse(this.textBox1.Text),double.Parse(this.textBox2.Text)).ToString()

break

case"/" :this.textBox3.Text=this.chu(double.Parse(this.textBox1.Text),double.Parse(this.textBox2.Text)).ToString()

break

}

}

private void button2_Click(object sender, System.EventArgs e)

{

this.textBox1.Text=null

this.textBox2.Text=null

this.textBox3.Text = null

}

private void button3_Click(object sender, EventArgs e)

{

//this.Hide()

Application.Exit()

//this.Close()

}

}

}

希望可以帮到你


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11728684.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存