Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 23:30   #1
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию Длина и замена символов строки - Полиморфизм

Написал программу которая заменяет последний символ на первый и измеряет длину строки. Выдает следующие ошибки при компиляции. Помогите их исправить пожалуйста.

Ошибки:
Цитата:
c:\WINDOWS\Microsoft.NET\Framework\ v3.5\Csc.exe /noconfig /nowarn:1701,1702 /errorreportrompt /warn:4 /define:DEBUG;TRACE /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5 \System.Core.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5 \System.Data.DataSetExtensions.dll" /reference:c:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727\System.Data.dl l /reference:c:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727\System.dll /reference:c:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727\System.Xml.dll /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5 \System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimize- /out:"obj\Debug\Laba 2.1 C sharp Masha.exe" /target:exe Program.cs Properties\AssemblyInfo.cs Row.cs
D:\Мои документы\Visual Studio 2008\Projects\Laba 2.1 C sharp Masha\Laba 2.1 C sharp Masha\Row.cs(14,18): error CS0060: Inconsistent accessibility: base class 'Laba_2._1_C_sharp_Masha.Row' is less accessible than class 'Laba_2._1_C_sharp_Masha.Numeral'
D:\Мои документы\Visual Studio 2008\Projects\Laba 2.1 C sharp Masha\Laba 2.1 C sharp Masha\Row.cs(8,11): (Related location)
D:\Мои документы\Visual Studio 2008\Projects\Laba 2.1 C sharp Masha\Laba 2.1 C sharp Masha\Row.cs(40,18): error CS0060: Inconsistent accessibility: base class 'Laba_2._1_C_sharp_Masha.Row' is less accessible than class 'Laba_2._1_C_sharp_Masha.SmallLette rs'
D:\Мои документы\Visual Studio 2008\Projects\Laba 2.1 C sharp Masha\Laba 2.1 C sharp Masha\Row.cs(8,11): (Related location)
Код программы:
Код:
//Row.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Laba_2._1_C_sharp_Masha
{
    class Row
    {
        public abstract void LengthofRow();
        public abstract string Right();
    }

    public class Numeral : Row//жалуется на эту строку
    {
        public string Str;

        public Numeral(string pStr)
        {
            Str = pStr;
        }
        ~Numeral()
        {
        }

        public override void LengthofRow()
        {
            Console.WriteLine("Dlina stroki:" + Str.Length);

        }

        public override string Right(string pStr)
        {
            pStr = Str.Replace('5', '1');
            return pStr;
        }
    }


    public class SmallLetters : Row//и жалуется на эту строку
    {
        private string Str_1;

        public SmallLetters(string aStr)
        {
            Str_1 = aStr;
        }

        ~SmallLetters()
        {
        }

        public override void LengthofRow()
        {
            Console.WriteLine("Dlina stroki:" + Str_1.Length);
        }

        public override string Right(string aStr)
        {
            aStr = Str_1.Replace('e', 'a');
            return aStr;
        }
    }
}

//Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Laba_2._1_C_sharp_Masha
{
    class Program
    {
        static void Main(string[] args)
        {
            IList<Row> objRow = new List<Row>();
            objRow.Add(new Numeral("12345"));
            objRow.Add(new SmallLetters("abcde"));

            foreach (Row currentRow in objRow)
            {
                Console.WriteLine("Dlina {0}", currentRow.LengthofRow());
                Console.WriteLine("Zamena {0}", currentRow.Right());
            }
        }
    }
}
ArniLand вне форума Ответить с цитированием
Старый 23.04.2010, 05:55   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Код:
string s = "abcd";
string ss = s[s.Length - 1].ToString();
            for(int i=1;i<s.Length-1;i++)
            {
                ss += s[i].ToString();
            }
            ss += s[0].ToString();
//s - заданный массив
//ss - преобразованный
//s.Length - длина заданного массива
dampirik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длина и сдвиг строки - Полиморфизм ArniLand Общие вопросы C/C++ 0 22.04.2010 20:39
Длина строки С++ ArniLand Общие вопросы C/C++ 7 25.03.2010 10:59
Delphi. как добавить в Memo 5 строк, длина каждой 10 символов. Nostalgia Помощь студентам 3 21.03.2010 12:31
Замена каждых трех символов вводимой строки (цепочек), вторым из которых является "^" последовательнос AquaticSoul Общие вопросы C/C++ 2 10.03.2010 06:34
Длина строки в си : char string[255] Mixasik Помощь студентам 1 26.11.2008 20:33