1. c# 在一个方法里创建一个自定义类
方法是写在类里面的,怎么可能在方法里创建一个类?只能用new关键字创建一个类的实例,如:
Student stu = new Student();
当方法结束时,这个实例就自动没了,就相当于是局部变量一样
2. C 问题:如何定义一个类,使这个类只能创建一个对象
C中没有类
C++的话:
class CSingleton:
{
// 其它成员
public:
static CSingleton * GetInstance()
{
if (m_pInstance == NULL)
m_pInstance = new CSingleton();
return m_pInstance;
}
private:
CSingleton(){};
static CSingleton * m_pInstance;
}
3. C语言的问题:如何申明一个指向任意类型函数的指针
void指针可以指向任意类型的数据,包括函数指针,亦即可用任意数据类型的指针对void指针赋值。
例如:
int * pint;
void *pvoid;
pvoid = pint; /* 不过不能 pint= pvoid; */
如果要将pvoid赋给其他类型指针,则需要强制类型转换如:pint= (int *)pvoid;
4. 用c#语言编程 声明一个矩阵类Rectangle,其中有多个构造方法。用不同的构造方法创建对象,并输出矩形的周
那就直接写就是了。是可以同时定义多个构造方法的。
5. 如何在C#中,在一个类里调用另外一个类的方法
如果要通过类名来用方法的话,那其中的方法必须是静态方法,需加上static。即public static void get() {...}。静态方法是跟类关联的,允许不对classA实例化,就可以用它的方法。
把A类有引用的方法加static
public class A
public static void MethodA()//如果不是static 就要实例化才能调用
public class B
public void MethodB
A.MethodA();//第一种方式
如果MethodA()没有加static关键字
则使用 new A().MethodA();
}
语言结构
类:一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。在C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了同样的作用。
以上内容参考:网络-c#
6. 声明一个类,包括构造出函数,属性,静态方法和非静态方法,再声明一个派生类
对,构造函数不属于可调用函数,它只是用于所属类的对象在创建时用于成员初始化,所以是只为本类对象服务的。
如果基类的构造函数是无参的(默认构造函数),派生类就不需要定义。但如果基类的构造函数是有参的,而且派生类也无法在定义时确定,也就是参数来自应用程序环境,那么派生类需要编写对应的有参构造函数,将参数传递给基类初始化;而如果基类构造函数中的参数由派生类能够确定的,那么在派生类的无参构造函数中定义常量,传递给基类初始化。
比如:
//基类class A{ public: A(int a){x=a; }//基类有参构造函数 private: int x; } //派生类B,接收外部参数 class B:A{ public: B(int a):A(a){}// 派生类有参构造函数接受外部参数传递给基类 } //派生类C,内部传递给基类class C:A{ public: C():A(10){}//派生类的无参构造函数将常量10传递给基类初始化 }
7. objective-C中如何判断一个类中有没有定义某个方法
- (BOOL)respondsToSelector:(SEL)aSelector;
使用这个方法来判断当前对象是否实现了一个方法,返回bool类型的值,yes就是实现了
8. 类的声明和类的实现
问题好罗嗦 首先看出来你对类和对象分的就不太清楚,类是虚拟的 比如人类 而对象却是现实存在的 是类的一个实例 人就是人类一个实例 人具有人类的一切属性和行为 对象也一样 对象拥有类的一切属性和方法. 编译器只是把代码编译解释成计算机可以识别的二进制代码,所以在内存中建立分配一个对象决不是编译器所为.是执行那一行代码时干的事. 它会为类迅速分配一个空间称为这个类的实例 就是对象 而对象名就是它的首地址 所以通过对象名可以访问它成员 就是用到计算机所谓的偏移量方法. 当创建一个对象时会自动的调用它的构造方法 注意并不是构造方法构造对象的哟 它只是对对象做一些初始化 类自建请查类信息表