c++问题-C++问题求解,初学者提问,谢谢

问题描述

C++问题求解,初学者提问,谢谢
#include<iostream>
using namespace std;

class String
{
public:
    String ( const char *c = NULL);
    ~String ();
    bool operator!() const;
private:
    char *elems;
};

String::String(const char *c)
{
    elems = c;
}

String ::~String()
{}

bool String::operator!() const
{
    if(elems == NULL)
        return true;
    else
        return false;
} 

int main(void)
{
    String str;
    if(!str)
        cout<<"这是一个空字符串!"<<endl;
    return 0;
}

程序出错了,是char* 不能赋值给 const char * 这种错误怎么改 (最好不把const删掉),谢谢各位

解决方案

强制转换一下既可

elems = (char *)c;
时间: 2024-11-08 22:19:38

c++问题-C++问题求解,初学者提问,谢谢的相关文章

java代码-java初学者提问 在类中 用static成员变量实例化自身类 程序的执行顺序过程是怎样的?

问题描述 java初学者提问 在类中 用static成员变量实例化自身类 程序的执行顺序过程是怎样的? class Demo03 { public static void main(String[] args) { A.show(); } } class A { //构造方法 A(){ System.out.println("构造方法执行"); System.out.println(b); System.out.println(c); } static A a=new A(); sta

ocx atl-clsid的定义类型问题(初学者提问)

问题描述 clsid的定义类型问题(初学者提问) const CLSID CLSID_MyClass = {0x562052A7,0xF17C,0x408D,{0x99,0x9C,0xCC,0xF1,0xEB,0x9E,0xE7,0x14}}; MIDL_DEFINE_GUID(CLSID, CLSID_MyClass,0xB035F76C,0xF12D,0x4903,0xAE,0x9A,0x33,0x4D,0x27,0x4A,0xA8,0x5E); CLSID_MyClass 两者的区别是什么

编程-汇编语言初学者提问,求老司机解答

问题描述 汇编语言初学者提问,求老司机解答 想在汇编中实现判断是否输入的为一个数字与a的组合,比如输入的必须为1a.2a.20a之类的.想不到什么好方法,本人初学,求指教 解决方案 根据ascii判断 C的实现 bool foo(char * ch) { int s = 0; while (true) { if (s == 0) { if (*ch >= '0' && *ch <= '9') continue; if (*ch == 'a') s = 1; else retur

c++-求助这个函数的递归怎么理解,我是初学者,谢谢!

问题描述 求助这个函数的递归怎么理解,我是初学者,谢谢! #include<iostream>#include<Windows.h>using namespace std;int age(int);int main(){ cout<<age(5)<<endl; system(""pause""); return 0;}int age(int n){ int c; if(n == 1) { c = 10; cout<

java多态问题求解 引用方面 谢谢

问题描述 java多态问题求解 引用方面 谢谢 java中 父类的引用指向子类对象有什么用啊?父类的引用反映的又是什么呢? 解决方案 首先,多态概念的体现在于:该引用对象的行为是由它真实的子类类型决定的.其次, 父类类型的引用指向子类类型的实例,这是一种面向抽象编程的编程思想,将变量定义成抽象类型,那么对变量的使用代码可以保持不变,当客户端则根据自己需要传递该抽象类的实现.这种写法很常用,就是经典的面向抽象编程原则. 解决方案二: 你先弄清楚多态的作用,你就明白了 解决方案三: 多态就是同类事物

mat-opencv初学者提问:如何修改Mat元素的值

问题描述 opencv初学者提问:如何修改Mat元素的值 刚刚接触opencv,Mat数据类型,现在知道怎么访问每个元素的值,但是不知道如何修改特定位置的Mat元素的值,例如一个RGB图片如何提取出某个通道的值?希望高手给说一下,还有就是opencv没有类似android SDk的开发文档吗? 解决方案 http://blog.csdn.net/xiaowei_cqu/article/details/7771760

初学者提问:c++ 参数列表初始化问题

问题描述 初学者提问:c++ 参数列表初始化问题 #include using namespace std; class c { public: c(int m) :b(m) {}; void display() { cout << b << endl; } private: int & b; }; int main() { c ca(5); ca.display(); return 0; } 不知道为什么,输出了很大的数字 解决方案 把类定义里的int& b改成i

初学者提问: opencv标定问题

问题描述 初学者提问: opencv标定问题 findChessboardCorners中,为什么传进vector> corners进去,回来后它的大小和内容完全不对劲呢?(大小目测是2亿多) 小白没有C币,请大神原谅!

c语言-C语言初学者提问,不会修改程序

问题描述 C语言初学者提问,不会修改程序 可以运行,但是达不到目的,不会修改 程序代码: typedef struct /* 学生结构 / { short status; / 数据状态,0:正常 1:删除 / char number[10]; / 学号 / char name[20]; / 姓名 / char sex[3]; / 性别 / int age; / 年龄 / char place; / 籍贯 / char department; / 系别 / char major; / 专业 / i