.h文件和.cpp文件
//新建如图文件

//在头文件.h中声明,在.cpp中实现
//main.cpp代码如下
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include "test.h"
#include <string.h>
using namespace std; int main()
{
//Student st ;//栈上,这个类的构造函数在类被定义为变量的时候,自动调用
Student *p = new Student("mike",);//在堆上创建实例,不管在堆上,还是在栈里面,只要这个类成了一个对象,构造函数都会自动被调用(带参的函数)。
p->show();
//p->add();//父类中是private
/*strcpy(p->name, "tom");
p->age = 10;*/
//p->set_money(500);
cout << "name = " << p->name << ",age = " << p->age<<endl;
cout << "money = " << p->get_money()<<endl;
delete p;//自动调用析构函数
system("pause");
return ;
}
//person.cpp代码
#include "person.h"
#include <stdio.h> Person::Person()
{ } void Person::show()
{
printf("show\n");
} void Person::add()
{
printf("add\n");
}
//test.cpp
#define _CRT_SECURE_NO_WARNINGS
#include "test.h"
#include <stdio.h>
#include <string.h> void Student::set_money(int n)
{
money = n;
}
int Student::get_money()
{
return money;
} Student::Student(const char *_name, int _age, int _money)
{
strcpy(name, _name);//this
age = _age;
money = _money;
}
Student::Student()
{
memset(name, , sizeof(name));
age = ;
money = ;
printf("hello world!\n");
//classes = new char[100];//在构造函数中分配了100个char。
}
Student::~Student()
{
printf("调用了析构函数。\n");
//delete[]classes;//清理构造函数分配的堆空间内存。
}
//person.h
#ifndef PERSON_H
#define PERSON_H class Person
{
private:
void add();
public:
Person();
void show();
};
#endif // !PERSON_H
//test.h
#ifndef TEST_H
#define TEST_H #include "person.h" class Student : public Person
{
public:
char name[];
char *classes;
int age;
private:
int money;
public:
void set_money(int n);
int get_money();
Student(const char *_name, int _age,int money = );//构造函数重载
Student();
~Student();
}; #endif
//运行结果

.h文件和.cpp文件的更多相关文章
- vs 2015 项目筛选器没了,.h头文件和.cpp文件混在一起了
场景: git 拉取 VS 2015 项目,打开之后,.h头文件和.cpp文件混在一起了. 解决方案: 需要XXX..vcxproj.filters 文件.
- C语言中头文件和cpp文件解析
务必提前预读这里的内容:http://www.cnblogs.com/stemon/p/3999844.html 回到cpp文件与头文件各写什么内容的话题上: 理论上来说cpp文件与头文件里的内容,只 ...
- Qt中添加静态库.lb,.a和动态库.dll,.so,头文件和.cpp文件
添加步骤 1.-Qt Creator中,"项目"------"添加库"2.把静态库和动态库文件放到项目文件夹中3.在.pro文件中会添加如下代码: - 添加动态 ...
- C中头文件在cpp文件中引用和.h文件引用
1.编译器会单独编译每个cpp文件.头文件会复制到cpp文件中. 2.有时会遇到这样的一个问题a.cpp要调用b.cpp中的函数,而b.cpp又要调用a.cpp中的函数.这就牵扯到相互调用.这时如果我 ...
- C++中template的.h文件和.cpp文件的问题
在C++中,用到类模板时,如果类似一般的类声明定义一样,把类声明放在.h文件中,而具体的函数定义放在.cpp文件中的话,会发现编译器会报错.如类似下面代码: //test.h文件 #ifndef TE ...
- c中头文件在cpp文件里引用和.h文件引用的思考
我们在编敲代码中头文件是常常使用的. 可是头文件是应该包括在.H文件里还是在.cpp文件里.在这个其中有什么样去差别呢. 假如说我们编写了一个a.cpp .我们将a.cpp文件的变量和函数申明在a. ...
- 头文件与cpp文件为什么要分开写
最表面的机制是: 头文件是程序的界面(是代码界面),提供给程序员以 类.模版.函数等一系列的声明,让程序员知道应该怎么调用里面的"东西". 从动态链接库的角度看: 头文件提供界面 ...
- C++中头文件(.h)和源文件(.cpp)都应该写些什么
头文件(.h): 写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等,但一般来说不写出具体的实现. 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): ...
- 在C的头文件中定义的结构体,如何在cpp文件中引用
解决方案1:在cpp文件中放置.c,且在该文件中引用变量 解决方案2:在一个cpp文件中包含.c,但在另一个cpp文件中使用结构体变量 cpp文件1 cpp文件2 #include "dia ...
随机推荐
- 转: fscanf()函数详解
以前解析有规律的文件的时候要么用正则表达式,要么就是傻傻的自己写程序来解析有规律的文件.今天突然发现c的库函数中有一个现成的可以解析有规律的文件的函数,就是fscanf()函数.哎 以前自己做了这么多 ...
- PHP 访问类中的静态属性
静态属性和普通属性不一样,静态属性只属于类本身而不属于类的任何实例,所以他们的访问方式也不一样.你可以把静态属性认为是存储在类当中的全局变量,而且你可以在任何地方通过类来访问它们. 在类本身中访问静态 ...
- 用存储过程生成订单号ID
DECLARE @sonumber BIGINTSELECT @sonumber=CONVERT(BIGINT, @serverId + Substring(CONVERT(VARCHAR(4), D ...
- 常见MYSQL导入导出数据命令
导出数据库: mysqldump –uuser -ppassword -hhost databasename > target_20150225.sql 打包: tar zcvf target_ ...
- 获取Map API Key
开发人员在基于Google Maps服务进行开发之前,需要申请一组验证过的Map API Key,这样才可以使用Google Maps服务.申请过程如下:1.在Eclipse中打开“Window”|“ ...
- 关于Python中的for循环控制语句
#第一个:求 50 - 100 之间的质数 import mathfor i in range(50, 100 + 1): for j in range(2, int(math.sqrt(i)) ...
- 为什么p标签不能嵌套div??
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- SQL Server 各任务所维护
SQL Server 正在运行的代码查看 SELECT [Spid] = session_id , ecid , [Database] = DB_NAME(sp.dbid) , [User] = nt ...
- 【C#网络基础】C# get post请求
using KTCommon.Helper; using KTCommon.LOG; using System; using System.Collections.Generic; using Sys ...
- 无法找到脚本引擎Jscript解决
无法找到脚本引擎Jscript解决 CScript 错误: 无法找到脚本“InstallWizardForVS2010.js”的脚本引擎“JScript”. 目标环境:windows 7 64bit系 ...