首先,我想说明的是,C++是全新的,所以这可能是一个简单而又有些显而易见的问题。在我正在阅读的一本名为“C++入门”的C++书中,一个类是这样定义的:
class classname{
public:
private:
};
然而,在VS2008中,编译器不是这样的。而是在class之前添加public ref,如下所示:
public ref class classname{
它在编译器中通过了。谁能解释一下只用class定义和使用public ref类定义有什么区别吗?我真的很感激。
我正在对C#进行实验,并构建了以下程序(见下文)。
我知道first的动态和静态类型是C。对于second,动态类型也是C,但是静态类型是A。现在我想知道这个能派上什么用场?
我还注意到(显然) visual不允许我调用second.CallA()。
现在注意,当我对所有三种静态类型调用DoA()时,动态类型是C。既然如此,为什么this不指向该类呢?如果我记得在Java中正确(可能是错误的),self.methodA()将开始从调用者实例中查找继承树。因为这里看起来不是那样的。我能创造这样的行为吗?或者这是语言的限制吗?
public class A
{
public void me
例如,在C#中,属性的语法糖:
private int x;
public int X{
get { return x; }
set { x = value; }
}
或者简单地说
public int X{ get; set; }
我在java中缺少逐字字符串...@"C:\My Documents\“而不是"C:\My Documents\”
你同意Java需要更多的“糖”吗?有没有人知道下一个Java版本会不会有新的变化?
我正在阅读罗伯特·C·马丁(RobertC.Martin)的“”( the ),对多态概念的理解有困难。
众所周知,在以前的OOP时代,有一些方法可以实现多态行为。例如,对于C(这在中已经讨论过,但我遵循(简化的)书籍示例):
// main.c
#include <stdio.h>
int main () {
int c = getchar(); // read from the standard STDIN
}
// console.c
#include "file.h" //defines struct FILE type with 5 pointe
我有一个大学项目,在这个项目中我必须使用c++中的Bison和Flex为老师选择的语言构建一个编译器。
该语言是面向对象的垃圾回收动态类型化语言。
问题是,当我们只知道运行时的类型时,我和我的朋友只是对如何为a.x编写mips代码感到困惑。让我们来看看这段伪代码:
class A{private x;public A(){x=10}}
class B{public x;public B(){x=2}}
class C
{
public static main(args)
{
n=input('integer');
if(n>5)
尝试将关键字PURE定义为const集为0,用作抽象数据类型类的标识符。为什么这不能编译呢?在“必要的C++,主题1”中,我更喜欢使用const而不是#define,如下所示:
const int PURE = 0;
virtual void myFunction() = PURE;
唉,这引发了一个错误(在AppleLLVM7.0和gcc上也是如此):
Initializer on function does not look like pure-specifier
下面的例子,有三种标记为A、B和C的技术;
1. const int PURE = 0 will not compile
2.
我在这里撞到头了..。
在C#中给出...
public class ClassA
{
public override string toString()
{
return "use this toString()!";
}
}
当我尝试构建它时,它告诉我:"ClassA.toString():找不到合适的方法来覆盖。“
如果不是这样,如何覆盖C#中的默认toString?
我是Java世界的新手。我从C#过来。我正在尝试设置一个自定义事件。下面是我在C#中如何做到这一点
class A
{
public EventHandler Changed;
public void FunctionA()
{
if(Change != null)
Changed(this, null); //fire the event!
}
}
class B
{
private A instanceOfA = new A();
public void FunctionB()
{
我有一个网站,使用角在前端和C#在后端。我有一个c#类,它从数据库中获取数据。我有一个新的字段(西班牙翻译的值),我想要添加,并且不确定以下3种方案中哪一种是最优的。
这就是代码当前的样子:
public class CustomerIssueManager
{
static public List<GenericRecordDTO> GetCustomerIssues(MyStore db)
{
List<GenericRecordDTO> responseDTO = new List<GenericRec
我有这样的测试代码:
public class Constants {
public static String c1 = "C1";
static {
System.out.println("Constants Class Loaded!");
}
}
public class Test {
public static void main(String[] args) {
String c1 = Constants.c1;
System.out.println(c1);
}
}
其产出是:
Const
我用C#和TypeScript写文章,并且注意到有时在C#中做不到一些事情。我想检查用户权限,在C#中检查的是坏的--在Configuration属性中使用反射和重复Permission键,而在TypeScript中,its很容易实现。有什么方法可以摆脱C#版本的缺点吗?
C#
public enum Permission { download, upload }
public class User
{
public string[] Groups { get; set; }
}
public class Configuration
{
public PermissionG
在c#中,可以从派生类继承吗?例如,我有以下结构,在C#中这样做合法吗?它编译,但我想知道这是否会引起问题,并在某些情况下抛出一个错误。
public class A
{
public string s1 { get; set; }
public string s2 { get; set; }
}
public class B : A
{
public string s3 { get; set; }
public string s4 { get; set; }
}
public class C : B
{
public C()
在C#中,为什么嵌套类必须实例化它的父类,在代码中引用其父类的非静态属性?
public class OuterClass
{
public int OuterClassProperty
{
get
{
return 1;
}
}
public class InnerClass
{
public int InnerClassProperty
{
get
{
/* synt
为了引入类似C#/Java语言的语法,通过预处理命令重新定义C++访问修饰符可能会产生什么影响?
#include <iostream>
// The access modifiers are redefined here.
#define public public:
#define protected protected:
#define private private:
class Halo
{
public Halo(int xx)
{
x = xx;
}
public int getX()
{
我刚刚遇到了一个有趣的场景。我在C#中有一个类:
public class Test
{
public int A;
public int a;
}
由于C#区分大小写,这将把两个变量A和a视为不同的变量。我想在我的VB代码中继承上面的类,它不区分大小写。VB代码将如何访问两个不同的变量A和a
任何帮助都是非常感谢的。
我有一组正在使用C#和C++的组合构建的应用程序。我们在两种语言之间有一组共享的对象,而不是在每种语言中分别定义每个对象,我更喜欢使用代码生成工具。理想情况下,这样的工具应该是自由/开源软件,尽管这不是一个绝对的要求。对象本身相对简单,尽管存在从基类继承、接口实现、其他对象类型的包含以及其他对象类型的集合。
Visual C++ 2008是C++目标环境。
有没有人推荐一个可以处理这类任务的工具?
示例代码:
public class Tax
{
private static Dictionary<string, double> _TaxRates;
public Dicti
我在微软VisualWebDeveloper2010Express与aspx项目工作。我试图从js代码中的c#代码中更改一个公共变量。但我找不到方法。有谁可以帮我?谢谢。
,所以在我的c#代码中有这个var
public partial class ASPX_Page : System.Web.UI.Page
{
public bool check = false;
}
和我想在js函数中修改它.
function myfun() {
//here I want to change check to true
}
我考虑创建一个不可见的asp obj并改变它的值。但我认为这不是正确的解决办法
我有两种方法:
public void Method1(object[] args); // In Class A
public void Method2(string a, SomeClass b); // In Class B
和两个班:
public class SomeClass {}
public class FromSomeClass : SomeClass {}
还有我用Roslyn分析的代码:
var c = new FromSomeClass();
Method1("a", c);
我想分析Method1调用并检查它是否也是一个有效的Method2调用,意思是
我在VS2010中的解决方案有一个在c#项目中引用的CLI项目。我在CLI中有一个名为do_something的抽象类。在C#中,我继承了它的DoSomething类。我希望通过将c#实现作为抽象类参数传递来从c++运行c#实现,但是抛出了“语言不支持”异常。
CLI/c++
//abstract class
public ref class do_something{
public:
virtual void do_it()=0;
};
//using an implementation of the abstract class
public ref class cpp_calle
我有一个快速的OOP问题,想看看其他人是如何处理这种特殊情况的。它是这样的:
A类(基类) -> B类(扩展A类)C类(基类) -> D类(扩展C类)
到目前为止很简单,对吧?现在,A类可以通过其构造函数接收C类的实例。同样,类B可以通过其构造函数接收类C或类D的实例。下面是一小段代码:
Class A
{
protected var _data:C;
public function A( data:C )
{
_data = data;
}
}
Class B extends A
{
public function B(
我正在尝试弄清楚,当源文件是用几种不同的编程语言编写时,如何在源文件之间共享函数。有没有办法在三个不同的源文件中共享用三种语言编写的函数,如下所示?我希望用每种语言编写的函数都可以从其他语言访问。
(为了清楚起见,所有源文件都在同一个文件夹中。)
Java文件:
public class JavaFile{
public static String generateStringFromRegex(String theRegex){
//native Java function, implement this using xeger
}
public st
我是一名大学生,刚接触java。去年,第二个学期,我们用C编写了一些程序。在真正理解它之前,我测试了很多东西。在C中,我只需要从int main()开始编码。Java更加令人困惑。为什么,我需要(我不确定是否必须这样开始)开始
public static void main (String[] args)
如果我不打算在我的程序中使用这个参数。这一点:
public static void main ()
给了我一个错误。我不想读入任何争论。
我希望你能理解--英语不是我的母语。
在JVM/Groovy领域工作了几年之后,我最近回到了.NET世界。
在C#中,我最喜欢的日常模式之一是,我发现它非常方便。回到C#,我立即开始使用它,但是现在我怀疑可能有更好的或者更好的模式。
让我想到的是,我想在“院落”里介绍一些行为。如下所示:
public sealed class TypeSafeEnumWithBehaviour
{
public static readonly TypeSafeEnumWithBehaviour IsLowerCase = new TypeSafeEnumWithBehaviour("IsLowerCase", s =>
我正在处理一个项目,该项目有一个名为Vector2的对象
public static class Vector2 {
public Vector2 (float x, float y) {
this.x = x;
this.y = y;
}
public float x;
public float y;
public static Vector2 ZERO = new Vector2 (0, 0);
public static Vector2 FO
假设有一个具有A类型的静态对象。
class A
{
public string b;
public int c;
public bool d;
public A e;
.
.
.
}
A a = new A(){
b = "string",
c = 12,
d = true
e = new A(){
b = "another string",
c = 23
}
};
我想要深层将这个对象克隆成一个具有其所有属
我可以在java中通过隐式赋值char数组来创建字符串。
String s = "asd";
而不是
String s = new String("asd");
此行为类似于具有隐式单参数构造函数的c++。
那么为什么它不能使用另一个用户定义的类呢?
public class Foo {
public Foo(int i) {
System.out.println(i);
}
}
public class Main {
public static void main(String[] args) {
Fo
所以我们写:
Customer c = new Customer();
为什么设计不像我们写的那样:
c = new Customer();
c.CreditLimit = 1000;
编译器可以计算出客户的c点,并允许在c上调用客户的成员?
我知道我们可能想写:
IPerson c = new Customer();
IPerson e = new Employee();
以便能够写:
public string GetName(IPerson object)
{
return object.Name
}
string name = GetName(c); // or GetNam
覆盖派生函数的行为,同时仍然调用它的父函数的相同函数,参见C::foo()了解example.It仍然具有A::foo的行为,但对其进行了扩展。作为一种模式是不是太简单了?
class A
{
public:
virtual ~A() {}
virtual void foo(){ MSG("A::foo");}
};
class B : public A
{
public:
virtual void foo(){ MSG("B::foo");}
};
class C : public B
{
public:
virtual v
我在c#中有一个应用程序,它通过UDP连接到另一个应用程序,它是用c++编写的。我更喜欢一个可执行的解决方案,因为我希望测量事件客户端、一些处理服务器端和处理完全返回客户端的响应之间的时间。实质上:往返延迟。
例如,我在c#中有一个对象:
public class Package{
public Package(){}
public float DeliveryTime = 1.5;
public int NumberOfItems = 2
}
然后我将包序列化为一个字节数组:
Package package = new Package();
var serial
我试图重写以修复这部分代码,因为在声纳源上显示一个问题公共方法不应该有多维数组参数
public class Example1
{
public string Test(string a, string b, string[][] c)
{
var example2= new ...;
return example2.Test(a, b, c);
}
}
public class Example2
{
public string Test(string a, string b, string[][] c) {
re