小编chi*_*aja的帖子

Linux环境下的C#

我目前在Unix环境中使用C/C++,并且是Linux环境的新手.我想学习Linux操作系统并学习C#作为我职业生涯的下一级编程语言.

我决定把Ubuntu Linux放在笔记本电脑上.但我不确定我们是否可以在Linux环境中编写,编译和运行C#程序.

我认识的唯一一个用于C#的IDE是MS Visual Studio.在Linux环境中有没有可能在C#中工作的方法?

如果我没有其他选择,我将在我的笔记本电脑上安装两个操作系统 - Vista用于学习C#,Linux用于其他操作系统.

c# linux installation

7
推荐指数
2
解决办法
1万
查看次数

重载operator <<以输出对象成员而不使用友元函数

经过长时间的差距,我正在刷新cpp,试图理解运算符重载方法.我试图重载"operator <<"来输出对象的成员.但是如果不使用朋友功能,我无法这样做.我正在寻找一种不使用友元功能的方法.

这是我的班级def:

class Add{
private:
int x;

public:
friend ostream& operator<<(ostream& ostr, Add const& rhs); //Method 1
void operator<<(ostream& ostr);                //Method 2
};
Run Code Online (Sandbox Code Playgroud)

功能实现

//Method 1
ostream& operator<<(ostream &ostr, Add const& rhs)
{
    ostr<<rhs.x;

return ostr;
}

//Method 2
void Add::operator<<(ostream& ostr)
{
    cout<<" using operator<< \n";
    ostr<<x;
}
Run Code Online (Sandbox Code Playgroud)

来自main函数的调用

cout<<Obj_Add;  //calls the Method 1

Obj_Add<<cout;  //calls the Method 2
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,我想在不使用friend函数的情况下实现方法1类型调用.但是不知道,cpp是否有可能.我尝试了很少的实现,但都给了我编译错误.请帮助我理解我在这里缺少的观点.

c++ operator-overloading friend-function

4
推荐指数
1
解决办法
7915
查看次数

c ++程序中的基本指针问题

我正在寻找关于指针的澄清.我在bordland c ++ 5.5.1中编译了以下代码,没有任何错误.但是,当我尝试执行时给出了一个核心错误.

int main ()
{
    int x=10,y=20;

     int &a=x;
     int &b=y;

     int *c;
     int *d;

     *c=x;
     *d=y;

return 0;
}
Run Code Online (Sandbox Code Playgroud)

基本上我试图创建两个引用变量(a,b)并分配两个变量(x,y).之后我创建了两个指针变量(c,d)并尝试分配相同的变量(x,y).这给了我错误的执行而不是编译.

我是否做错了,这不是指针变量的标准赋值.为什么指针赋值在此时失败了.请帮我理解这个.

第一次更新:

谢谢大家.首先,我了解到我正在研究C++特性(引用变量).其次,我需要在使用之前为指针变量分配内存.

c++ pointers reference variable-assignment

1
推荐指数
1
解决办法
504
查看次数