C++与C#对于引用外部文件成员使用的区别
对于C++控制台项目,如果有两个.cpp的文件都想引用同一个类的成员时,我们可以定义一个类,然后在类的头文件中添加extern来修饰。
Box.cpp如下:
#include "Box.h" Box Box1;
Box.h如下:
class Box
{
public:
int length; // 盒子的长度
int breadth; // 盒子的宽度
int height; // 盒子的高度
}; extern Box Box1;
如果Class1.cpp和Program.cpp都想引用对象Box1中的成员时,添加头文件的引用#include "Box.h"即可,
Program.cpp代码如下:
#include <iostream>
#include "Box.h"
#include "Class1.cpp" using namespace std; int main()
{
Box1.height = ;
printf("Box1 的高度是:%d\n",Box1.height); Box Box2;
Box2.height = ;
printf("Box2 的高度是:%d\n", Box2.height); Class1 class1;
class1.fun();
}
Class1.cpp代码如下:
#include <iostream>
#include "Box.h" using namespace std; class Class1
{
public :
void fun()
{
printf("Box1 的高度是:%d\n", Box1.height);
}
};
运行结果如下:
对于C#控制台项目,由于C#没有头文件,所以不能像C++项目那样操作,那么C#项目两个.cs文件都想访问同一个对象的成员怎么操作呢?答案就是:static
我们在Box.cs文件下定义类,代码如下:
namespace ConsoleApp1
{
public class Box
{
//实例化后对象才能引用的成员
public int length; // 盒子的长度
public int breadth; // 盒子的宽度
public int height; // 盒子的高度 //不需要实例化对象直接引用的成员
static public int length1; // 盒子的长度
static public int breadth1; // 盒子的宽度
static public int height1; // 盒子的高度
}
}
Program.cs代码如下:
using System; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Box Box1 = new Box(); Box1.height = ;
Console.WriteLine("Box1的高度是:{0}\n", Box1.height); Box.height1 = ;
Console.WriteLine("Box的高度是:{0}\n", Box.height1); Class1 class1 = new Class1();
class1.fun();
}
}
}
Box1对象里的length,breadth,height成员只能在Program.cs文件下访问操作,而不能在Class1.cs文件下操作,但是Box.height1,Box.breadth1,Box.height1静态成员既可以在Program.cs文件中访问又可以在Class1.cs文件中访问。
Class1.cs代码如下:
using System; namespace ConsoleApp1
{
public class Class1
{
public void fun()
{
Console.WriteLine("Box的高度是:{0}\n", Box.height1);
}
}
}
C++与C#对于引用外部文件成员使用的区别的更多相关文章
- Spring(二)--FactoryBean、bean的后置处理器、数据库连接池、引用外部文件、使用注解配置bean等
实验1:配置通过静态工厂方法创建的bean [通过静态方法提供实例对象,工厂类本身不需要实例化!] 1.创建静态工厂类 public class StaticFactory { private st ...
- Spring中配置文件中引用外部文件
src\dayday\conn.java package dayday;import java.sql.Connection;import java.sql.DriverManager;import ...
- js/css在html文档中的引用外部文件方式对比
包含css样式表和js脚本的最好方式是使用外部文件,因为css/js和html标记文档可以清晰地分离. css的外部引用写在<head></head>中: <head&g ...
- Spring 后置处理器 PropertyPlaceholderConfigurer 类(引用外部文件)
一.PropertyPlaceholderConfigurer类的作用 PropertyPlaceholderConfigurer 是 BeanFactory 后置处理器的实现,也是 BeanFact ...
- postman使用教程7-参数化引用外部文件测试数据
前言 当同一个接口需要测试不同的参数时,需用到参数化的概念.postman支持从外部文件读取测试数据参数化 设置参数化变量 新建一个collections 专门测试登录接口 设置集合变量usernam ...
- 关于<appSettings file="app.config" >引用外部文件的配置值
web.config文件中,appSetting节点引用了外部的配置文件, <appSettings file="app.config"> </appSettin ...
- WEB-INF目录下的jsp怎么引用外部文件:js,css等
在项目中,为了安全.我们通常会将jsp文件放在WEB-INF下面,对于放在WEB-INF下面的js或是css等资源文件.我们通常可以通过相对路径来引用,而如果是放在WEB-INF之外的js 或是 cs ...
- postman引用外部文件中的变量和数据
接口参数显示: 点击collections下文件夹test0424右边的箭头,点击run按钮: DataFile导入txt文件: 预览文件数据: 运行,成功:
- laravel如何引用外部文件
(1).首先在app\Http\routes.php中定义路由: 1 2 3 Route::get('view','ViewController@view'); Route::get('article ...
随机推荐
- emqtt emq 的主题访问控制 acl.conf
访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(W ...
- Storm之WordCount初探
刚接触Strom,记录下执行过程 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <proj ...
- 阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件
先把dao的实现复制一份到别的地方.然后删除项目里面的AccountDaoImpl这个dao的实现类 删除 service层就开始报错了 这个时候运行直接报错 把文件复制回来就不报错了 解决依赖关系 ...
- VirtualBox-5.2.8-121009-Win,虚拟机指令ifconfig不显示ip解决方法
- Spring MVC -- 去掉静态资源的拦截
<!-- springmvc的前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> &l ...
- NFA转换为等价的DFA
在编译系统中,词法分析阶段是整个编译系统的基础.对于单词的识别,有限自动机FA是一种十分有效的工具.有限自动机由其映射f是否为单值而分为确定的有限自动机DFA和非确定的有限自动机NFA.在非确定的有限 ...
- c++ 指针(三)
指针 (6)传递指针给函数 只需要简单地声明函数参数为指针类型即可 #include <iostream> #include <ctime> using namespace s ...
- [开发技巧]·Python实现信号滤波(基于scipy)
[开发技巧]·Python实现信号滤波(基于scipy) 个人网站--> http://www.yansongsong.cn GitHub主页--> https://github.com/ ...
- 应用安全 - 中间件 - Tomcat - 漏洞 - 汇总
管理后台弱口令 CVE-2019-0232 Date 类型 任意代码执行 影响版本 Apache Tomcat .M1 to Apache Tomcat to Apache Tomcat to 前置条 ...
- Metinfo3.0 /include/common.inc.php PHP代码注入