一个简单C++程序的执行顺序!

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:40:24
请问一下,下面的C++程序的执行顺序是什么?对于C++我懂得很少,连一个简单程序都不能分析,请我我分析一下程序的执行方式,以及一些语句的意思,谢谢,程序如下:
#include<iostream>
using namespace std;
struct point{
viod setxy(double a,double b)
{x=a;y=b;}
void main( )
{cout<<x<<"\t"<<y<<endl;}
double x,y;
};
void main(){
point a;
a.setxy(10.6,18.5)
a.display( );
cout<<a.x<<"\t"<<a.y<<endl;
}

你这个程序中有struct point{ void main() {...}};中的函数名main不对,应该是display(),即:
#include<iostream>
using namespace std;
struct point{
void setxy(double a,double b) //你这里有打错字了是void不是viod
{x=a;y=b;}
void display( )
{cout<<x<<"\t"<<y<<endl;}
double x,y;
};
void main(){
point a;
a.setxy(10.6,18.5); // 少了分号
a.display( );
cout<<a.x<<"\t"<<a.y<<endl;
}
#include <iostream>:#include 是包含头文件是用的,这句话就表明这个程序中包含<iostream>这个头文件;
using namespace std;:是使用(using)命名空间(namespace)std(标准库中的东西都放在std中,这句话表明可以使用std中的一切东西(本程序中只用了std::cout, std::endl 两个);
struct 结构体(在C++中它等同于class<类>,有一个小小的区别就是,不说明访问权限时struct默认的是public,class 默认的是private),这个结构体的名字是point,point中定义了两个成员函数:一个名为setxy,无返回值的函数;一个名为display,无返回值的函数;两个函数数据成员:一个是double x,一个是double y;
接下来的是主函数mian(),主函数中定义了一个point类型的自定义变量a;
a.setxy(10.6, 18.5);表示a调用(point类型对象