Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8941693
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T11:21:53+00:00 2026-06-15T11:21:53+00:00

This is my first time working with classes, so excuse my ignorance. I have

  • 0

This is my first time working with classes, so excuse my ignorance.

I have a Pet class that is my base class. I have two children classes, Dog and Cat. What I’m trying to do is have the Cat and Dog methods override the Pet method by saying “Woof!” and “Meow!” instead of speak. Then in another form I have to print the information (name, color, and them speaking) on a button press.

       class Pet
    {
        protected string name, color, food;

        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
        public string Color
        {
            get 
            {
                return color;
            }
            set
            {
                color = value;
            }
        }
        public string Food
        {
            get
            {
                return food;
            }
            set
            {
                food = value;
            }
        }
        public void speak(string s)
        {
            s = "Speak";
            MessageBox.Show(s);
        }

        public Pet(string name, string food, string color)
        {
            //Constructor
            this.Food = food;
            this.Name = name;
            this.Color = color;
        }




    class Dog : Pet
    {

        public Dog(string name, string food, string color)
            : base(name, food, color)
        {

        }

        protected override void speak()
        {

        }

    }

}

(left out the cat because it’s the same as dog pretty much)

I keep getting the error “Error 1 ‘Lab12.Cat.speak()’: cannot change access modifiers when overriding ‘public’ inherited member ‘Lab12.Pet.speak()’ ”

What am I doing wrong? I know it has to do with protection levels somewhere, and I keep switching things from public to protected or private, but it isn’t fixing anything. Help, anybody?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T11:21:56+00:00Added an answer on June 15, 2026 at 11:21 am

    Since Speak() was originally public, you need to keep it public. You “cannot change access modifier” (public vs private).

    Also, you cannot override a non-virtual or static method. The overridden base method must be virtual, abstract, or override.

    Take a read: http://msdn.microsoft.com/en-us/library/ebca9ah3(v=vs.100).aspx

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm pretty new to python. This is my first time working with classes in
This is my first time working with a WPF datagrid. From what I understand
This is my first time working with file i/o in java, and it's not
this is my first time asking a question on stackoverflow. I'm working on a
This is my first time that I use WCF and Android. So, sorry for
This is the first time I've encountered something like below. Multiple Threads (Inner classes
This is my first time working with Objective-C, and I keep trying to create
This is my first time working with python. I'm trying to create a dictionary
It's the first time I use Subsonic. Let say I have those classes :
I am working on some code that scrapes a page for two css classes

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.