我界面的类等概述!
Animal.H:
class Animal
{
public:
virtual void walk();
}
Run Code Online (Sandbox Code Playgroud)
Animals.CPP
=空
Cow.H:
class Cow : public Animal
{
public:
virtual void walk();
}
Run Code Online (Sandbox Code Playgroud)
在这里它应该从语义上知道函数walk是从它从右派生的类中获取的?(ea Animal ..)当我不定义函数walk时,它应该说我应该正确定义它?
Cow.CPP:
void Cow::walk()
{
//do something specific for cow
}
Run Code Online (Sandbox Code Playgroud)
SomeOtherClass.H
namespace SomeNamespace
{
void LetAnimalWalk();
}
Run Code Online (Sandbox Code Playgroud)
SomeOtherClass.CPP
Cow myCow;
namespace SomeNamespace
{
void LetAnimalWalk()
{
myCow.walk();
}
}
Run Code Online (Sandbox Code Playgroud)
这应该工作正常吗?...我的意思是,命名空间,"Class :: ..."的东西?以及我继承和使用界面的方式?
因为这种方式我得到了我从界面制作的每个功能,所以每个虚函数都给我以下错误:
SomeOtherClass.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall Cow::Walk (...etc etc...) referenced in function "void __cdecl SomeNamespace::LetAnimalWalk() …Run Code Online (Sandbox Code Playgroud) 当我在另一个类中使用它时,我如何确保我实现的某些颜色保持其价值?
struct.h
struct Color{
unsigned char r;
unsigned char g;
unsigned char b;
};
Color someColor;
//if i define the color here it says...:
Color someColor = {255,255,255}; //error: data member inializer not allowed
Run Code Online (Sandbox Code Playgroud)
struct.cpp
struct::Color someColor = {255,255,255};
Run Code Online (Sandbox Code Playgroud)
someotherclass.cpp
struct *str = new struct();
str->someColor.r //is not the correct value /not set
Run Code Online (Sandbox Code Playgroud) 我无休止地搜索了一个线程,它确切地说明了我的问题,但我找不到它.
我想获取一个类属性,并将该属性作为字符串取出!
public class Foo
{
public Foo ()
{
}
public int MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我想最后得到字符串"MyProperty",如下所示:
Foo f = new Foo();
string s = Helperfunction(f.MyProperty);
string Helperfunction( X )
{
string MyString;
//do something with X
return MyString;
}
Run Code Online (Sandbox Code Playgroud)
通过可能的辅助功能来实现这有多困难?所以输出应该是"MyProperty"
因为我不想对它进行硬编码,并且只要我重构属性名称,它就可以在不编辑硬编码字符串的情况下工作!