对于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#对于引用外部文件成员使用的区别的更多相关文章

  1. Spring(二)--FactoryBean、bean的后置处理器、数据库连接池、引用外部文件、使用注解配置bean等

    实验1:配置通过静态工厂方法创建的bean  [通过静态方法提供实例对象,工厂类本身不需要实例化!] 1.创建静态工厂类 public class StaticFactory { private st ...

  2. Spring中配置文件中引用外部文件

    src\dayday\conn.java package dayday;import java.sql.Connection;import java.sql.DriverManager;import ...

  3. js/css在html文档中的引用外部文件方式对比

    包含css样式表和js脚本的最好方式是使用外部文件,因为css/js和html标记文档可以清晰地分离. css的外部引用写在<head></head>中: <head&g ...

  4. Spring 后置处理器 PropertyPlaceholderConfigurer 类(引用外部文件)

    一.PropertyPlaceholderConfigurer类的作用 PropertyPlaceholderConfigurer 是 BeanFactory 后置处理器的实现,也是 BeanFact ...

  5. postman使用教程7-参数化引用外部文件测试数据

    前言 当同一个接口需要测试不同的参数时,需用到参数化的概念.postman支持从外部文件读取测试数据参数化 设置参数化变量 新建一个collections 专门测试登录接口 设置集合变量usernam ...

  6. 关于<appSettings file="app.config" >引用外部文件的配置值

    web.config文件中,appSetting节点引用了外部的配置文件, <appSettings file="app.config"> </appSettin ...

  7. WEB-INF目录下的jsp怎么引用外部文件:js,css等

    在项目中,为了安全.我们通常会将jsp文件放在WEB-INF下面,对于放在WEB-INF下面的js或是css等资源文件.我们通常可以通过相对路径来引用,而如果是放在WEB-INF之外的js 或是 cs ...

  8. postman引用外部文件中的变量和数据

    接口参数显示: 点击collections下文件夹test0424右边的箭头,点击run按钮: DataFile导入txt文件: 预览文件数据: 运行,成功:

  9. laravel如何引用外部文件

    (1).首先在app\Http\routes.php中定义路由: 1 2 3 Route::get('view','ViewController@view'); Route::get('article ...

随机推荐

  1. Xpath 和Css Selector使用

    Xpath是xml的路径语言,就是通过元素的路径来查找标签元素. Xpath直接在火狐浏览器的firebug中练习,49版本一下的火狐才能用firebug插件. Xpath的使用方法 注://*    ...

  2. Screen Painter 程序设计

    一.Screen 的创建及维护, TCode:SE51 输入程序名称,单击[建立], 程序1000为SAP预留屏幕号,屏幕号必须定义1000外的其他数字,且最多不超过四位, 本例定义屏幕为SAP预留屏 ...

  3. java:JavaScript3(innerHTML,post和get,单选框,多选框,下拉列表值得获取,JS中的数组,JS中的正则)

    1.innerHTML用户登录验证: <!DOCTYPE> <html> <head> <meta charset="UTF-8"> ...

  4. WebLogic下Argument(s) "type" can't be null.

    启动项目出现Argument(s) "type" can't be null.异常.异常如下: java.lang.IllegalArgumentException: Argume ...

  5. redhat7.5 替换yum源

    Redhat 7自带的yum源需要付费注册,未注册情况下会报如下错误,且用yum repolist all检查源数目为0.这时候需要将RedHat 7自带的yum源 替换成CentOS 7免费源 解决 ...

  6. DN值

    DN值(Digital Number )是遥感影像像元亮度值,记录的地物的灰度值.无单位,是一个整数值,值大小与传感器的辐射分辨率.地物发射率.大气透过率和散射率等有关. 从DN值计算大气顶的反射率使 ...

  7. CentOS7中SSH免密登陆设置

    一.准备三台客户机 hadoop100 192.168.13.100(Master) hadoop101 192.168.13.101 hadoop102 192.168.13.102 二.在hado ...

  8. Linux系统基本操作

      学习目标: 通过本实验掌握Linux的系统安装.磁盘分区.文件管理.IP地址配置.SSH远程管理.WinSCP文件传输.chmod文件权限管理.tar及gzip/bzip2压缩工具的使用,以及关机 ...

  9. 平衡树(fhq无旋treap)

    fhq板子(代码正确且风格易懂) 洛谷P3369 #include<iostream> #include<cstring> #include<cstdio> #in ...

  10. 20191209 【归档】Linux就该这么学

    学习背景 因为打算学习Redis和Docker,但是发现对Linux的操作已经完全忘记了,所以选择再学一次,但是不会深入的学习,选择了<Linux就该这么学>这本书,学完了感觉还挺好,但是 ...