之前没有用VS或者在vs中一个源程序写到底,没有使用C++编一个工程

打开VS2015 ,新建VS win32工程,前面步骤很简单,不再阐述

下面直接开始:

新建一个VC++ win32的程序,

在源文件加下添加.cpp文件,一般放main函数

#include <iostream>
#include <locale>
#include "human.h"
using namespace std;

int main()
{
Human Tom;
Tom.A(160);
people zhangsan;
zhangsan.B(160);

//cout<<Tom.printf();
}

在头文件中添加.h文件,一般是定义的类

#include "human.h"

class Human
{
public:
void A(int w);
private:
int *i;
};

class people
{
public:
void B(int j);
int num;
private:
int numa;
};

头文件中的.cpp文件放类的构造函数

#include "human.cpp"

#include <iostream>
#include "human.h"
using namespace std;
void Human::A(int w)
{
cout << w << endl;
}
void people::B(int w)
{
w -= 100;
cout << w << endl;
}

然后在源文件下的main函数的要加上类的声明头文件,头文件.cpp也要添加类声明的头文件

i

注意:头文件中定义的类,在与之同名的c文件中要做声明,类的构造函数和析构函数要么显示定义,也要显示的声明,哪怕这些函数里面没有执行的内容,空的也要写出来,否则会编译通不过,要么类的构造函数和析构函数都不写,类默认产生不执行任何程序的构造函数和析构函数

反正一条:对于类里面的析构函数和构造函数只要定义了,必须要声明,函数为空也可以

下面补充一下在VS里面多文件系统(即有多个头文件和cpp文件),使用VS来自动生成类,

1、项目右击->添加->类

输入类名后,h文件和cpp文件自动填充好,而且生成的类的构造函数、析构函数、包含头文件全都有了

如下图:

生成的代码:

h文件

#pragma onceclass Clock
{
public:Clock();~Clock();
};

cpp文件

#include "Clock.h"Clock::Clock()
{
}Clock::~Clock()
{
}

上面都是空的,下面在里面填上我们的函数

2、在类里面放上我们的函数

h文件添加函数后

#pragma once
#include <iostream>
using namespace std;class Clock
{
public:Clock();void SetTime(int NewH, int NewM, int NewS);   //三个形参均具有函数原型作用域void ShowTime();~Clock();
private:int Hour, Minute, Second;
};

cpp文件添加函数后

#include "Clock.h"
Clock::Clock()
{Hour = 0;Minute = 0;Second = 0;}
void Clock::SetTime(int NewH, int NewM, int NewS)
{Hour = NewH;Minute = NewM;Second = NewS;
}
void Clock::ShowTime()
{cout << Hour << ":" << Minute << ":" << Second << endl;
}Clock::~Clock()
{
}

3、在main里面添加我们的类包含头文件

#include "Clock.h"   //头文件
Clock g_Clock;
int main() //主函数
{cout << "文件作用域的时钟类对象:" << endl;//引用具有文件作用域的对象:g_Clock.ShowTime();g_Clock.SetTime(10, 20, 30);Clock myClock(g_Clock);    //声明具有块作用域的对象myClock,并通过默认拷贝构造函数用g_Clock初始化myClockcout << "块作用域的时钟类对象:" << endl;myClock.ShowTime(); //引用具有块作用域的对象return 0;
}

运行结果:

over!!!

第五十七篇:VS2015建立一个完整的c++工程:头文件.h 源文件.cpp,自动生成类相关推荐

  1. Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,

    Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关 ...

  2. 如何建立一个完整的游戏AI

    http://blog.friskit.me/2012/04/how-to-build-a-perfect-game-ai/ 人工智能(Artificial Intelligence)在游戏中使用已经 ...

  3. nixyx —— 一个小巧的项目工程/编译文件生成器(构建系统?)

    恩..nixyx确实算不上是一个构建系统. 所谓构建系统,比如GNU的Autotools,那是一套很完整的构建体系,包括了程序的配置,编译和安装三大部分. 类似的软件还有:google的gyp.腾讯的 ...

  4. 在rhas3.0上建立一个完整的邮件系统(内含四部分)修正版 V

    http://www.chinaunix.net 作者:llzqq发表于:2004-02-28 07:39:56 rhas3.0+qmail+mysql+smtp+vpopmail+igenus+qm ...

  5. “约见”面试官系列之常见面试题之第五十七篇之强制类型转换(建议收藏)

    JS的类型转换,强制转换和隐式转换 JS的类型转换 1.强制转换 通过String(),Number(),Boolean()函数强制转换 var str=123;var str1='123';cons ...

  6. Selenium基础篇之5-第一个完整的自动化测试脚本

    前面文章,我们介绍了如何采用XPath表达式去定位网页元素,在掌握了如何抓取或者如何书写精确的XPath表达式后,我们可以开始写自己的第一个真正意义上的webui 自动化测试脚本,就相当于,你在学习P ...

  7. 第五十七篇 Django-CRM系统-1登录,注册,修改密码

    一.CRM框架简介 二.登录之设计表 在登录之前,我们需要用到django内置的登录验证去做,必须得使用django定义好的表结构或者我们重写表,使用一些我们需要的字段来进行验证.没有重写之前的表为U ...

  8. header python 环境信息_Python开发必备:如何建立一个完美的项目工程环境

    在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上.本文以Python为例,教大家如何快速打造完美的Python项目开发环境:内容涵盖了模块依赖管理 ...

  9. 一个完整的Installshield安装程序实例

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(一)---基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于 ...

最新文章

  1. 2022-2028年中国服务机器人行业市场调查研究及前瞻分析报告
  2. 01矩阵等比放大(Java代码、ACM格式)--2021.9.7百度笔试研发A卷
  3. Windows XP权限
  4. 网易邮箱开通imap服务器,网易邮箱率先全面默认开通IMAP服务
  5. mysql 随机查询数据
  6. [转] MySQL 查询表数据大小的总结
  7. matlab神经网络工具箱创建神经网络,matlab神经网络工具箱创建神经网络
  8. matlab数据处理 书,matlab数据处理记录
  9. [学习总结] python语言学习总结 (三)
  10. 高通量数据中批次效应的鉴定和处理(六)- 直接校正表达矩阵
  11. 多目标跟踪新范式:CenterTrack
  12. I - Defeat the Enemy UVALive - 7146 二分 + 贪心
  13. GNS3新手安装教程
  14. Mac下adb不能重启
  15. 国内的点对点聊天工具鱼信Fishchat怎么用?
  16. 爬取中国天气网获取全国城市编码并存入mysql数据库
  17. 星沙工业机器人_长沙县各种大型企业管道检测:管道排查机器人CCTV检测QV检
  18. CPM、CPC、CPA、PFP、CPS、CPL、CPR等广告术语是什么意思
  19. android开发界面设计工具,21个免费的UI界面设计工具、资源及网站
  20. 蒟蒻刷洛谷(11月7日到11月13日)

热门文章

  1. 在Ubuntu下安装Samba文件服务器(译)
  2. BearSimple - 一款简洁的Typecho主题
  3. OpenWrt刷机后LAN口无法连通的问题
  4. Cloudreve搭建私人云盘
  5. 设备管理系统是什么?它是如何对设备故障进行分析的?
  6. 组织结构流程图模板分享,送给需要的你
  7. 因式分解的几种高级方法,懂即速度
  8. 软考常考知识点整理-项目进度计划与项目进度管理计划
  9. 重置 macOS 启动台图标 (删除空白文件夹)
  10. linux 服务器之间数据复制—scp